এই পাঠ শেষে যা যা শিখতে পারবে-
- ১। ‘সি’ প্রোগ্রামিং এ ইনপুট ও আউটপুট ফাংশনসমূহ ব্যবহার করতে পারবে।
- ২। ফরমেটেড ও আনফরমেটেড ইনপুট/আউটপুট ফাংশনসমূহ বর্ণনা করতে পারবে।
- ৩। printf() ও scanf() ফাংশন সম্পর্কে বিস্তারিত ব্যাখ্যা করতে পারবে।
‘সি’ প্রোগ্রামিং ভাষায় ইনপুট এবং আউটপুট ফাংশনসমূহঃ
কোন প্রোগ্রামে ডেটা প্রক্রিয়া করার জন্য প্রথমে ডেটা ইনপুট নিতে হয়। প্রোগ্রামে ডেটা ইনপুট নেওয়ার জন্য ব্যবহৃত ফাংশনকে ইনপুট ফাংশন বলে। আবার প্রক্রিয়া পরবর্তী তথ্য আউটপুটে প্রদর্শনের জন্য ব্যবহৃত ফাংশনকে আউটপুট ফাংশন বলে। ‘সি’ প্রোগ্রামিং ভাষায় ইনপুট নেওয়া এবং আউটপুট দেখানোর জন্য বিভিন্ন লাইব্রেরী ফাংশন রয়েছে। ফাংশনসমূহঃ
ফরমেট স্পেসিফায়ারঃ ‘সি’ প্রোগ্রামের কোন চলকে ফরমেটেড আকারে ডেটা গ্রহণ বা ফরমেটেড আকারে কোন চলকের মান প্রদর্শনের জন্য যথাক্রমে ইনপুট ও আউটপুট ফাংশনে যে সকল ক্যারেক্টার সেট ব্যবহৃত হয় তাদেরে ফরমেট স্পেসিফায়ার বলা হয়। প্রতিটি ফরমেট স্পেসিফায়ার পার্সেন্টেজ ক্যারেক্টার(%) দিয়ে শুরু হয়।
বিভিন্ন ডেটা টাইপের জন্য ফরমেটেড ইনপুট ও আউটপুট ফাংশনে ব্যবহৃত ফরমেট স্পেসিফায়ারসমূহঃ
ফরমেট স্পেসিফায়ার | ব্যবহার | উদাহরণ |
%c | char টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%c”,&a); printf(“%c”,a); |
%d | int টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%d”,&a); printf(“%d”,a); |
%f | float টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%f”,&a); printf(“%f”,a); |
%lf | double টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%lf”,&a); printf(“%lf”,a); |
%ld | long int টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%ld”,&a); printf(“%ld”,a); |
%u | unsigned int টাইপের ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%u”,&a); printf(“%u”,a); |
%o | Octal ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%o”,&a); printf(“%o”,a); |
%x | Hexadecimal ডেটা ইনপুট/আউটপুটের জন্য | scanf(“%x”,&a); printf(“%x”,a); |
scanf() ফাংশনের ব্যবহারঃ
পূর্বে ঘোষণাকৃত একটি চলকে ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশন ব্যবহারের ফরমেটঃ
scanf(“format_specifier “, &variable_name);
উদাহরণঃ
- a চলকে char টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ scanf(“%c”, &a);
- a চলকে int টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ scanf(“%d”, &a);
- a চলকে float টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ scanf(“%f”, &a);
- a চলকে double টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ scanf(“%lf”, &a);
পূর্বে ঘোষণাকৃত একাধিক চলকের ডেটা একসাথে ইনপুট নেওয়ার জন্য scanf() ফাংশন ব্যবহারের ফরমেটঃ
scanf(” format_specifier1 format_specifier2….”, &variable_name1, &variable_name2…….);
উদাহরণঃ
একসাথে একাধিক চলকে একই ধরণের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনের ব্যবহারঃ
- a,b ও c চলকে int টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ
- scanf(“%d %d %d”, &a, &b, &c);
একসাথে একাধিক চলকে ভিন্ন ভিন্ন ধরণের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনের ব্যবহারঃ
- a,b ও c চলকে যথাক্রমে int, float ও double টাইপের ডেটা ইনপুট নেওয়ার জন্য scanf() ফাংশনঃ
- scanf(“%d %f %lf”, &a, &b, &c);
printf() ফাংশনের ব্যবহারঃ
printf() ফাংশন দুইভাবে ব্যবহার করা যায়। প্রথমত, কোন কিছু হুবহু আউটপুটে দেখানো। দ্বিতীয়ত, কোন এক বা একাধিক চলকের মান আউটপুটে দেখানো।
কোন কিছু হুবহু আউটপুটে দেখানোর জন্য printf() ফাংশনের ফরমেটঃ
আউটপুটে দেখানোর প্রয়োজনীয় টেক্সটি printf(” “); ফাংশনের ডাবল কোটেশনের মধ্যে লিখতে হয়। যেমন-
printf(” Output text should be here “);
কোন একটি চলকের মান আউটপুটে দেখানোর জন্য printf() ফাংশনের ফরমেটঃ
printf(“format_specifier”, variable_name);
উদাহরণঃ
- a চলকের char টাইপের ডেটা আউটপুটে দেখানোর printf() ফাংশনঃ printf(“%c”, a);
- a চলকের int টাইপের ডেটা আউটপুটে দেখানোর printf() ফাংশনঃ printf(“%d”, a);
- a চলকের float টাইপের ডেটা আউটপুটে দেখানোর printf() ফাংশনঃ printf(“%f”, a);
- a চলকের double টাইপের ডেটা আউটপুটে দেখানোর printf() ফাংশনঃ printf(“%lf”, a);
একাধিক চলকের মান একসাথে আউটপুটে দেখানোর জন্য printf() ফাংশনের ফরমেটঃ
printf(“format_specifier1, format_specifier2….”, variable_name1, variable_name2…);
একসাথে একাধিক চলকের একই ধরণের ডেটা আউটপুটে দেখানোর printf() ফাংশনের ব্যবহারঃ
- a, b ও c চলকের ডেটা আউটপুটে int টাইপের দেখানোর জন্য printf() ফাংশনঃ
- printf(“%d %d %d”, a, b, c);
একসাথে একাধিক চলকের ভিন্ন ভিন্ন ধরণের ডেটা আউটপুটে দেখানোর printf() ফাংশনের ব্যবহারঃ
- a,b ও c চলকের ডেটা আউটপুটে যথাক্রমে int, float ও double টাইপের দেখানোর printf() ফাংশনের ব্যবহারঃ
- printf(“%d %f %lf”, a, b, c);
ব্যাকস্ল্যাশ ক্যারেক্টারঃ বিশেষ কিছু ক্যারেক্টার আছে যেগুলো printf() ফাংশনের মাধ্যমে সরাসরি প্রদর্শন করা যায় না। এই বিশেষ ক্যারেক্টারগুলো প্রদর্শনের জন্য অতিরিক্ত একটি ক্যারেক্টার( \ ) ব্যবহৃত হয় যাকে ব্যাকস্ল্যাশ ক্যারেক্টার বলে।
ব্যাকস্ল্যাশ ক্যারেক্টারের ব্যবহারঃ
ব্যাকস্ল্যাশ ক্যারেক্টার | ব্যবহার | উদাহরণ | আউটপুট |
\n | আউটপুট নতুন লাইনে প্রদর্শনের জন্য | printf(“Learning\n ICT”); | Learning ICT |
\t | আউটপুটে horizontal tab প্রদর্শনের জন্য | printf(“Learning\t ICT”); | Learning ICT |
\v | আউটপুটে vertical tab প্রদর্শনের জন্য | printf(“Learning\v ICT”); | Learning ICT |
\a | সতর্ক সংকেত প্রদানের জন্য | printf(“\aLearning ICT”); | Alerm! |
\” | আউটপুটে ডাবল কোটেশন( ” ) প্রদর্শনের জন্য | printf(“Learning \”ICT\” “); | Learning “ICT” |
\’ | আউটপুটে সিঙ্গেল কোটেশন( ‘ ) প্রদর্শনের জন্য | printf(“Learning \’ICT\’ “); | Learning ‘ICT’ |
\\ | আউটপুটে ব্যাকস্ল্যাশ ক্যারেক্টার ( \ ) প্রদর্শনের জন্য | printf(“Learning \\ICT\\ “); | Learning \ICT\ |
\? | আউটপুটে প্রশ্নবোধক চিহ্ন ( ? ) প্রদর্শনের জন্য | printf(” Are you learning ICT\? “); | Are you learning ICT? |
পাঠ মূল্যায়ন-
জ্ঞানমূলক প্রশ্নসমূহঃ
- ক। ইনপুট ফাংশন কী?
- ক। আউটপুট ফাংশন কী?
- ক। ফরমেট স্পেসিফায়ার কী?
- ক। ব্যাকস্ল্যাশ ক্যারেক্টার কী?
অনুধাবনমূলক প্রশ্নসমূহঃ
- খ। আউটপুট ফাংশন বলতে কি বোঝায়?
- খ। scanf(“%d”, &a); স্টেটমেন্টটি ব্যাখ্যা কর।
- খ। scanf(“%d %x”, &a, &b); স্টেটমেন্টটি ব্যাখ্যা কর।
- খ। ‘সি’ প্রোগ্রামিং ভাষায় ব্যবহৃত ইনপুট এবং আউটপুট ফাংশনগুলো লেখ।
- খ। printf() ও scanf() উদাহরণ সহ ব্যাখ্যা কর।
সৃজনশীল প্রশ্নসমূহঃ
বহুনির্বাচনি প্রশ্নসমূহঃ
Written by,
- Mizanur Rahman (Mizan)
- Lecturer of ICT, Shaheed Bir Uttam Lt. Anwar Girls’ College ,Dhaka Cantonment
- Author at www.edupointbd.com
- Software Engineer at mands IT
- Former Lecturer of ICT, Cambrian College, Dhaka
- Email: mizanjust@gmail.com
- Cell: 01724351470