সবাইকে সালাম জানিয়ে আমি আবারো আমার C Programming নিয়ে টিউন শুরু করছি। এর আগে ১৩ টি টিউন করছি। এবার আবার যেন না থেমে আরো ১৩ টি করতে পারি সে দোয়া করবেন। আমাকে মনে হয় আপনার ভুলে গেছেন, সাথে প্রোগ্রামিং ও তাই না? তার জন্য আমি ই দায়ি। সে জন্য ক্ষমা চেয়ে নিচ্ছি। আমাকে নিশ্চয়ই ক্ষমা করবেন । চলুন তাহলে আবার ও শুরু করা যাক। এর আগের পার্টের লিঙ্কটি দিয়ে দিলাম। আর পুনরায় আবার সবগুলো জালাই করে নিতে তো আমার টিউনার পেজ তো রয়েছেই।
আমরা এর আগে আমরা একটি মাত্র character কম্পিউটারে কিভাবে getchar এর সাহায্যে input নেওয়া যায় তা দেখছি। এবার আমরা single character, numerical values এবং string কিভাবে কম্পিউটারে input নিব তা দেখবো। single character, numerical values. এবং string যেকোন মান কম্পিউটারে নেওয়ার জন্য “scanf” function ব্যবহার করা হয়। আবার putchar এর মত কোন মান পর্দায় দেখানোর জন্য “printf” function ব্যবহার করা হয়। putchar দিয়ে একটি মাত্র character কম্পিউটারে Out Put দেখানো যেত, কিন্তু “printf” function দ্বারা একদিক ডাটা যেমন single character, numerical values. এবং string ইত্যাদির যেকোন মান কম্পিউটারে Output দেখানো যায়।
Scanf(control string, argument1, argument2,……..argumentn);
এখানে control string দ্বারা কোন ধরনের Data input নিব তার ফরমেট বুঝায়। আর argument দ্বারা Data কম্পিউটারে কোথায়(memory address এর কোন জাগায়) সংরক্ষন হবে তা বুঝায়।
যেমন একটি প্রোগ্রামে নিন্মোক্ত Scanf statement টি রয়েছেঃ
char name;
scanf(“%c”,&name);
এখানে name নামে একটি variable নেওয়া হয়েছে। তার পর আমরা এখন ইনপুট ডিভাইস থেকে এ চলকের মান কম্পিউটারে নিব। এ জন্য Scanf(“%c”,&name); statement দিয়ে তা নেওয়া হয়েছে।
এখানে control string হচ্ছে c। প্রতিটি control string একটি % চিহ্ন দিয়ে শুরু করতে হয়। তাই এখানে control stringটি %c দ্বারা লিখা হয়েছে। এখানে c দ্বারা বুঝানো হয় যে Data item একটি single character। এরকম আরো অনেক গুলো control string রয়েছে। নিছে এর একটি তালিকা দেওয়া হল।
Code | Meaning |
%a | Input হিসেবে Floating-point Data item নিতে পারবে। |
%c | Input হিসেবে একটি মাত্র character Data item নিতে পারবে। |
%d | Input হিসেবে Decimal integer Data item নিতে পারবে। |
%e | Input হিসেবে Floating-point Data item নিতে পারবে। |
%f | Input হিসেবে Floating-point Data item নিতে পারবে। |
%g | Input হিসেবে Floating-point Data item নিতে পারবে। |
%i | Input হিসেবে Decimal, Hexadecimal or Octal Integer Data item নিতে পারবে। |
%o | Input হিসেবে Octal Integer Data item নিতে পারবে। |
%p | Input হিসেবে Pointer Data item নিতে পারবে।( Pointer সম্পর্কে পরে আলোচনা করা হবে)। |
%s | Input হিসেবে String Data item নিতে পারবে। |
%u | Input হিসেবে Unsigned decimal Data item নিতে পারবে। |
%x | Input হিসেবে Hexadecimal Data item নিতে পারবে। |
printf(control string, argument1, argument2,……..argumentn);
এখানে control string দ্বারা কোন ধরনের Data Output দিবে তার ফরমেট বুঝায়। আর argument দ্বারা প্রতিটি Output Data প্রকাশ করে। এখানে কিন্তু “scanf” function এর মত memory address প্রকাশ করে না।
যেমন একটি প্রোগ্রামে নিন্মোক্ত “printf” statement টি রয়েছেঃ
char name;
printf(“%c”, name);
এখানে name নামে একটি Character variable নেওয়া হয়েছে। এখন মনে করি nameএর মান কম্পিউটারে আছে আমরা তার Output বের করবো।তাই printf(“%c”, name); দ্বারা তা Output ডিভাইসে প্রকাশ করে। এখানে ও control string হচ্ছে c।scanf এর মর printf এ ও প্রতিটি control string একটি % চিহ্ন দিয়ে শুরু করতে হয়। তাই এখানে control stringটি %c দ্বারা লিখা হয়েছে। এখানে c দ্বারা বুঝানো হয় যে Data item একটি single character। scanf ও printf এর control string একই। তবে scanf এর control string দ্বারা কি ধরনের মান ইনপুট নিবে তা বুঝায়, আর printf এর control string দ্বারা কিধরনের মান আউটপুট দিবে তা বুঝায়। নিচে printf এর control string গুলো দেওয়া হল।
Code | Meaning |
%a | এটি ব্যবহার করলে Floating-point Data item আউটপুট দিবে। |
%c | এটি ব্যবহার করলে একটি মাত্র character Data item আউটপুট দিবে। |
%d | এটি ব্যবহার করলে Decimal integer Data item আউটপুট দিবে। |
%e | এটি ব্যবহার করলে Floating-point Data item আউটপুট দিবে। |
%f | এটি ব্যবহার করলে Floating-point Data item আউটপুট দিবে। |
%g | এটি ব্যবহার করলে Floating-point Data item আউটপুট দিবে। |
%i | এটি ব্যবহার করলে Decimal, Hexadecimal or Octal Integer Data item আউটপুট দিবে। |
%o | এটি ব্যবহার করলে Octal Integer Data item আউটপুট দিবে। |
%p | এটি ব্যবহার করলে Pointer Data item আউটপুট দিবে। |
%s | এটি ব্যবহার করলে String Data item আউটপুট দিবে। |
%u | এটি ব্যবহার করলে Unsigned decimal Data item আউটপুট দিবে। |
%x | এটি ব্যবহার করলে Hexadecimal Data item আউটপুট দিবে। |
এবার আমরা scanf ও printf এর ব্যবহারের উপর একটি ছোট্ট প্রোগ্রাম দেখিঃ
int main(void)
{
char name[80];
scanf("%s",&name);
printf("%s",name);
return 0;
}
এখানে একটি name নামে একটি character array (array সম্পর্কে পরে আলোচনা করা হবে) নেওয়া হয়েছে, যা মোট ৮০ টি character ধারন করতে পারবে(আসলে ৭৯ টি আরেকটি Null Character, যা সম্পর্কে পরে আলোচনা করা হবে) । তার পর এর মান ইনপুট ডিভাইস হতে নেওয়া হবে scanf function দ্বারা। scanf এর ভিতর %s দ্বারা বুঝানো হয়েছে যে এটি একটি String Input নিবে। তার পর এ মান printf("%s",name); দ্বারা পর্দায় আউটপুট দেখানো হয়েছে।
সবাইকে ধন্যবাদ। পরবর্তী টিউননে scanf নিয়ে আরো আলোচনা করব।
আমি জাকির হোসাইন। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 8 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 224 টি টিউন ও 1487 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 5 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
পৃথিবীতে অল্পকয়েক দিনের জন্য অনেকেই আসে, হেঁটে খেলে চলে যায়। এর মধ্যে অল্প কয়েক জনই পায়ের চাপ রেখে যায়।ওদের একজন হতে ইচ্ছে করে। প্রযুক্তির আরেকটি সেরা ব্লগ টেকটুইটস। আপনাদের স্বাগতম, যেখানে প্রতিটি বন্ধুর অংশ গ্রহনে গড়ে উঠেছে একটি পরিবার। আপনাদের পছন্দ হবে আশা করি। ফেসবুকে আমি - ?জাকির!
Thanks Boss for your Important Tunes