Header Ads

C Programming Input Output সি প্রোগ্রামিং ইনপুট-আউটপুট(I/O): printf() এবং scanf()

সি প্রোগ্রামিং ইনপুট-আউটপুট(I/O): printf() এবং scanf()



এই অধ্যায়ে আমরা সি প্রোগ্রামিং এর দুটি বিল্ট-ইন(built-in) ফাংশন printf() এবং scanf() কে বেশী ফোকাস করবো যা ইনপুট এবং আউটপুট কার্য সম্পাদনের জন্য ব্যবহৃত হয়। এছাড়া এই অধ্যায়ে আপনি বৈধ সি প্রোগ্রাম লেখাও শিখবেন।

ইনপুট এবং আউটপুট কার্যাবলী সম্পাদনের জন্য সি প্রোগ্রামিং এ কিছু Build In Library রয়েছে।
ইনপুট-আউটপুট( I/O) এর জন্য সবচেয়ে বেশী ব্যবহৃত দুটি ফাংশন হলো printf() এবং scanf()।
স্টান্ডার্ড ইনপুট ডিভাইস(কীবোর্ড) এর মাধ্যমে ইউজার থেকে formated ইনপুট নেওয়ার জন্য scanf()ফাংশন ব্যবহৃত হয়। পক্ষান্তরে স্টান্ডার্ড আউটপুট ডিভাইস(স্ক্রিন) এ formated আউটপুট পাঠানোর জন্য printf() ফাংশন ব্যবহৃত হয়।

ইনপুট এর সিনট্যাক্স

scanf("%c", &var_name);    // Character ইনপুট নেওয়ার জন্য
scanf("%d", &var_name);    // integer ইনপুট নেওয়ার জন্য
scanf("%f", &var_name);    // float ইনপুট নেওয়া হয়
scanf("%lf", &var_name);   // double ইনপুট নেওয়া হয়
scanf("%s", &var_name);    // string ইনপুট নেওয়া হয় 

আউটপুট এর সিনট্যাক্স

printf("%c", &var_name);    // Character এ আউটপুট পাওয়ার জন্য
printf("%d", &var_name);    // integer  এ আউটপুট পাওয়ার জন্য
printf("%f", &var_name);    // float এ আউটপুট পাওয়ার জন্য
printf("%lf", &var_name);   // double এ আউটপুট পাওয়ার জন্য
printf("%s", &var_name);    // string এ আউটপুট পাওয়ার জন্য

উদাহরণঃ সি আউটপুট

#include <stdio.h>      // printf() ফাংশন রান করানোর জন্য ইহা প্রয়োজন। 
int main()
{
    printf("C Programming");  //কোটেশনের ভেতরের কন্টেন্ট প্রদর্শিত হয়।
    return 0;
}

আউটপুট
C Programming
প্রোগ্রাম কিভাবে কাজ করে তার ব্যাখ্যা নিচে ধাপে ধাপে দেওয়া হলোঃ
  • সকল সি প্রোগ্রামে অবশ্যই main() ফাংশন থাকতে হবে। main() ফাংশনের প্রথম থেকে কোড এক্সিকিউশন(execution) শুরু হয়।
  •  printf() হলো লাইব্রেরী ফাংশন যা স্ক্রিনে ফরম্যাটেড(formated) আউটপুট পাঠায়।"stdio.h" হেডার ফাইলে printf() ফাংশন ডিক্লেয়ার করা আছে।
  • এখানে stdio.h হলো স্টান্ডার্ড ইনপুট-আউটপুট হেডার(header) ফাইল এবং #include হলো প্রিপ্রোসেসর(preprocessor) যা হেডার ফাইলকে সোর্স কোডের সংযুক্ত করে। কম্পাইলার যখন printf() ফাংশনকে এক্সিকিউট করে এবং stdio.h হেডার ফাইলকে খুঁজে না পাই তাহলে কম্পাইলার error দেখায়।
  •  return 0; স্টেটমেন্ট এর মাধ্যমে প্রোগ্রাম থেকে বের হয়ে যায়। সহজ ভাষায় প্রোগ্রামের সমাপ্তি ঘটায়।

উদাহরনঃ সি ক্যারেক্টার ইনপুট/আউটপুট

#include <stdio.h>
int main()
{
    char character;
    printf("Enter a character: ");
    scanf("%c",&character);  // ক্যারেক্টার এর  জন্য %c ফরম্যাট স্ট্রিং ব্যবহৃত হয়   
    printf("You entered %c.",character);  
    return 0;
}   


আউটপুট
Enter a character: t
You entered t.
ফরম্যাটেড ক্যারেক্টার ইনপুট গ্রহণ এবং আউটপুট পাঠানোর জন্য "%c" ফরম্যাট স্ট্রিং ব্যবহৃত হয়।

উদাহরনঃ সি ইন্টেজার আউটপুট

#include <stdio.h>
int main()
{
    int integerNumber = 5;
    // ইন্টেজার এর  জন্য %d ফরম্যাট স্ট্রিং ব্যবহৃত হয়
    printf("Number = %d", integerNumber);
    return 0;
}

আউটপুট
Number = 5
printf() ফাংশনের কোটেশন মার্কের মধ্যে ইন্টেজারের জন্য ফরম্যাটেড(formated) স্ট্রিং "%d"রয়েছে। এক্ষেত্রে ফরম্যাট স্ট্রিং যদি integerNumber আর্গুমেন্টের সাথে মিলে যায় তাহলে ইহা স্ক্রিনে আউটপুট দেখায়।

উদাহরনঃ সি ইন্টেজার ইনপুট/আউটপুট

#include <stdio.h>
int main()
{
    int IntegerNumber;
    printf("Enter an integer number: ");
    scanf("%d",&IntegerNumber);  
    printf("Number = %d",IntegerNumber);
    return 0;
}
আউটপুট
Enter an integer number: 4
Number = 4
scanf() ফাংশন কীবোর্ড থেকে ফরম্যাটেড(formated) ইনপুট গ্রহণ করে। যখন ইউজার ইন্টেজার নাম্বার ইনপুট দেয় তখন ইহা IntegerNumber ভ্যারিয়েবলের মধ্যে সংরক্ষিত হয়।
লক্ষ্য করলে দেখবেন যে, IntegerNumber এর পুর্বে '&'চিহ্ন আছে। &IntegerNumber দ্বারাIntegerNumber এর এড্রেসকে নির্দেশ(point) করে এবং ইনপুট ভ্যালু ঐ এড্রেসে জমা হয়।

উদাহরণঃ সি ফ্লোট ইনপুট/আউটপুট

#include <stdio.h>
int main()
{
    float floatNumber;
    printf("Enter a number: ");
    // ফ্লোটের জন্য %f ফরম্যাট স্ট্রিং ব্যবহৃত হয়
    scanf("%f",&floatNumber);
    printf("Value = %f", floatNumber);
    return 0;
}


আউটপুট
Enter a number: 23.45
Value = 23.450000
ফ্লোটের জন্য ফরম্যাটেড ইনপুট গ্রহণ এবং আউটপুট পাঠানোর জন্য "%f" ফরম্যাট স্ট্রিং ব্যবহৃত হয়

আসকি(ASCII) কোড

উপরের প্রোগ্রামে যখন কোনো ক্যারেক্টার প্রবেশ করানো হয়, ক্যারেক্টার তার নিজের ফরম্যাটে সংরক্ষিত হয় না। বরং সংখ্যা ভ্যালু(আসকি ভ্যালু) ফরম্যাটে সংরক্ষিত হয়।
যখন আমরা "%c" টেক্সট ফরম্যাট ব্যবহারা করে প্রিন্ট নিই তখন ইহা স্ক্রিনে ক্যারেক্টার ফরম্যাটে দেখায়।

উদাহরনঃ আসকি কোড

#include <stdio.h>
int main()
{
    char character;
    printf("Enter a character: ");
    scanf("%c",&character);     

    //যখন আমরা "%c" টেক্সট ফরম্যাট ব্যবহার করে প্রিন্ট নিই তখন ইহা ক্যারেক্টার ফরম্যাটে স্ক্রিনে দেখায়।
    printf("You entered %c.\n",character);  

    //যখন আমরা "%d" টেক্সট ফরম্যাট ব্যবহার করে প্রিন্ট নিই তখন ইহা ইন্টেজার ফরম্যাটে স্ক্রিনে দেখায়।
    return 0;
}

আউটপুট
Enter a character: b
You entered b.
ASCII value of g is 96.
ক্যারেক্টার 'b' এর ASCII ভ্যালু হলো 96। যখন 'b' প্রবেশ করানো হয় তখন character ভ্যারিয়েবলে 'b' এর পরিবর্তে 96 জমা হয়।
আপনি যদি কোনো ক্যারেক্টারের আসকি কোড জানেন তাহলে ক্যারেক্টার হিসাবে আউটপুট নিতে পারবেন। নিচের উদাহরণে ইহা দেখানো হলোঃ

উদাহরনঃ সি আসকি কোড

#include <stdio.h>
int main()
{
    int character = 70;
    printf("Character of ASCII value 70 is %c.",character);
    return 0;
}  


আউটপুট


Character of ASCII value 70 is F.

No comments

Powered by Blogger.