C প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখুন [পার্ট ১৪]:: [scanf & printf]

Author Topic: C প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখুন [পার্ট ১৪]:: [scanf & printf]  (Read 900 times)

Offline riazur

  • Faculty
  • Full Member
  • *
  • Posts: 203
    • View Profile

আমরা এর আগে আমরা একটি মাত্র character কম্পিউটারে কিভাবে getchar এর সাহায্যে input নেওয়া যায় তা দেখছি। এবার আমরা single character, numerical values এবং string কিভাবে কম্পিউটারে input নিব তা দেখবো। single character, numerical values. এবং string যেকোন মান কম্পিউটারে নেওয়ার জন্য “scanf” function ব্যবহার করা হয়। আবার putchar এর মত কোন মান পর্দায় দেখানোর জন্য “printf” function ব্যবহার করি যা আমরা এর আগেই ব্যবহার করা শুরু করেছি। putchar দিয়ে একটি মাত্র character কম্পিউটারে Output দেখানো যেত, কিন্তু “printf” function দ্বারা একদিক ডাটা যেমন single character, numerical values. এবং string ইত্যাদির যেকোন মান কম্পিউটারে Output দেখানো যায়।

“scanf” function ব্যবহারের নিয়মঃ

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 রয়েছে। নিছে এর একটি তালিকা দেওয়া হল।

figure 1

control string কে কেউ কেউ আবার Placeholder ও বলে থাকে।

“printf” function ব্যবহারের নিয়মঃ

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 গুলো দেওয়া হল।

figure 2

এবার আমরা scanf ও printf এর ব্যবহারের উপর একটি ছোট্ট প্রোগ্রাম দেখিঃ

#include<stdio.h>
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 নিয়ে আরো আলোচনা করব।