স্টেটমেন্ট (Statement):
প্রোগ্রামে কোন এক্সপ্রেশন কিংবা ফাংশনের শেষে যখন সেমিকোলন ( ; ) দেয়া হয়, তখন সি এর ভাষায় একে স্টেটমেন্ট বলা হয়। সি ভাষায় লিখিত প্রোগ্রামে অনেকগুলো স্টেটমেন্ট-এর সমন্বয়ে গঠিত হয় এবং স্টেটমেন্টসমূহ ধারাবাহিকভাবে সাজানো থাকে। স্টেটমেন্ট দুই ধরনের হতে পারে। যথা- ইনপুট স্টেটমেন্ট ও আউটপুট স্টেটমেন্ট।
ইনপুট স্টেটমেন্ট (Input Statement):
সি প্রোগ্রামে Standard I/O লাইব্রেরি ফাংশন রয়েছে, যা সব ধরনের ইনপুট/আউটপুটের কাজ সম্পন্ন করে। প্রোগ্রামে ডেটা তথা ভেরিয়েবলের মান গ্রহণ করার জন্য ব্যবহৃত স্টেটমেন্টকে ইনপুট স্টেটমেন্ট বলা হয়। কী-বোর্ড থেকে স্ট্রিং জাতীয় ডেটা ইনপুটের জন্য সি-তে কয়েক ধরনের স্টেটমেন্ট ব্যবহার করা হয়। যথা: scanf(), getc(), gets(), getchar() । সি ল্যাঙ্গুয়েজে তিন ধরনের ব্যবস্থার মাধ্যমে ডেটা ইনপুট দেয়া যেতে পারে। যথা:
- অ্যাসাইনমেন্ট স্টেটমেন্ট (Assignment Statement)
- ফরমেটেড ইনপুট (Formated Input)
- রিডিং এ ক্যারেক্টার (Reading a character)
অ্যাসাইনমেন্ট স্টেটমেন্ট (Assignment Statement): ডেটাকে সরাসরি ভেরিয়েবলে নির্দিষ্ট করে দেয়া হয়। যেমন- num1 = 76, num2 = 84;
ফরমেটেড ইনপুট ফাংশন (Formated Input Function): scanf() একটি বহুল ব্যবহৃত ইনপুট স্টেটমেন্ট। প্রোগ্রাম রান করার সময় ব্যবহারকারীর নিকট থেকে প্রয়োজনীয় ডেটা নেয়ার জন্য এই ফাংশনটি ব্যবহৃত হয়। এর সাহায্যে int, char, float ইত্যাদি টাইপের ডেটা ইনপুট করা যায়। এর জন্য stdio.h লাইব্রেরি ফাংশন প্রোগ্রামে সংযুক্ত করতে হয়। নিম্নে scanf () ফাংশন-এর সিনট্যাক্স:
scanf(“Control String”, & Variable Name);
- Control String হলো ফরম্যাট স্পেসিফায়ার, যা কোন টাইপের ডেটা ইনপুট করবে তা নির্দেশ করে।
- Variable Name হলো পূর্বে ঘোষিত কোনো ভেরিয়েবলের নাম।
- & হলো অ্যাড্রেস অপারেটর, যা ভেরিয়েবলের জন্য গৃহীত মান মেমোরির ঐ লোকেশনে প্রেরণ করে এবং কোনো ভেরিয়েবলের মান বহন করে। যেমন:
int age;
scanf(“%d”, age);
এখানে %d হলো integer ডেটা টাইপের ফরমেট স্পেসিফায়ার এবং &age হলো age নামের রেরিয়েবলের অ্যাড্রেস, যা নির্দেশ করে integer টাইপের ডেটা age নামের ভেরিয়েবলের মেমোরি লোকেশনে সংরক্ষিত হবে।
দুই বা ততোধিক ইনপুট ডেটা নেয়ার জন্য স্টেটমেন্টের গঠন হলো:
scanf(“%d %d %d…%d”, &variable1, &variable2, &variable3,…&variable n);
এখানে একই টাইপের ডেটার জন্য হতে পারে অথবা ভিন্ন টাইপের ডেটার জন্যও হতে পারে। ভেরিয়েবলসমূহ যদি একই টাইপের হয়, তাহলে অলাদ করে না লিখে একই লাইনে কমা দিয়ে পৃথক করে লেখা যায়।
ফরমেট স্পেসিফায়ার
scanf() বা printf() ফাংশন দ্বারা কোনো ডেটা বা ভেরিয়েবলের মান স্টোর বা প্রদর্শনের জন্য নির্দিষ্ট ফরম্যাটের কতগুলো ক্যারেক্টার ব্যবহার করা হয়, যেগুলোকে ফরমেট স্পেসিফায়ার বলা হয়। যেমন %d ফরমেট স্পেসিফায়ারটি integer টাইপের ডেটা ইনপুট বা আউটপুট করার জন্য ব্যবহৃত হয়। নিচের টেবিলে বিভিন্ন ধরনের ফরমেট স্পেসিফায়ারের ব্যবহার উল্লেখ করা হলো:
scanf() ফাংশনের ব্যবহার দেখার জন্য নিচের প্রোগ্রামটি লক্ষ করা যাক:
আউটপুট স্টেটমেন্ট (Output Statement):
প্রোগ্রামে ডেটা তথা ভেরিয়েবলের মান প্রদর্শন করার জন্য ব্যবহৃত স্টেটমেন্টকে আউটপুট স্টেটমেন্ট বলা হয়। কী-বোর্ড থেকে স্ট্রিং জাতীয় ডেটা প্রদর্শনের জন্য সি-তে কয়েক ধরনের স্টেটমেন্ট ব্যবহার করা হয়। যেমন- printf(), putc(), puts(), putchar() ইত্যাদি।
printf() ফাংশন
এটি একটি বহুল ব্যবহৃত আউটপুট স্টেটমেন্ট। এর সাহায্যে int, char, float ইত্যাদি টাইপের ডেটার মান মনিটরের স্ক্রিনে প্রদর্শন করা যায়। print () এর সিনট্যাক্স হলো-
print(“string”);
String হিসেবে যে কোন ওয়ার্ড বা ক্যারেক্টার বা সেনটেন্স হতে পারে। printf এর প্রথম বন্ধনী () এর ভেতর ডাবল কোটেশনের মধ্যে যা লেখা হয়, আউটপুট হিসেবে মনিটরের পর্দায় তা প্রদর্শিত হয়। উপরের প্রোগ্রামটিতে scanf() এর পাশাপাশি printf() ফাংশনের ব্যবহার দেখানো হয়েছে। প্রোগ্রামের আউটপুট লক্ষ্য করলে আমরা দেখতে পাই printf() ফাংশনের ডাবল কোটেশনের ভিতর দিয়ে % সহ যে অক্ষর যাকে ফরমেট স্পেসিফাইয়ার বলা হয় তাতে উক্ত টাইপের ভেরিয়েবলের মান প্রদর্শিত হয়। যেমন-
printf(“Enter number is %d\n”,num);
এখানে int (integer) টাইপের num নামক ভেরিয়েবল-এর ভেলু (342) উল্লিখিত %d ফরমেট স্পেসিফাইয়ারে প্রদর্শিত হচ্ছে। অর্থাৎ এখানে %d ইন্টিজার (পূর্ণসংখ্যা) টাইপের num নামক ভেরিয়েবলের মান দ্বারা প্রতিস্থাপিত হচ্ছে।
===================================
এই অধ্যায়ের সকল পোস্টের লিঙ্কঃ
- প্রোগ্রাম, প্রোগ্রামিং ধারণার প্রবর্তক, প্রোগ্রামের ভাষা
- অনুবাদক প্রোগ্রাম ( Translator Program)
- প্রোগ্রামের সংগঠন (Program Organization)
- অ্যালগরিদম (Algorithm) কী? অ্যালগরিদমের সুবিধা
- ফ্লোচার্ট (Flowchart) কী? প্রোগ্রাম ফ্লোচার্টে ব্যবহৃত বিভিন্ন ধরনের প্রতীক
- প্রোগ্রাম (Program) এর গুণাবলি ও বৈশিষ্ট্য
- প্রোগ্রাম টেস্টিং (Testing) ও ডিবাগিং (Debugging)
- সি প্রোগ্রমিং (C Programming) ও সি ভাষার প্রোগ্রামের গঠন
- সি ল্যাঙ্গুয়েজে নমুনা প্রোগ্রাম (Sample C Program)
- সি প্রোগ্রাম এর মৌলিক ডেটা টাইপ (Data Type)
- ধ্রুবক (Constant), চলক (Variable), চলকের প্রকারভেদ
- অপারেটর (Operator)
- এক্সপ্রেশন (Expression) , কীওয়ার্ড (Keyword)
- স্টেটমেন্ট (Statement)
- কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট (Conditional Control Statement)
- লুপিং স্ট্রাকচার (Looping Structure)
- switch…case, break…continue স্টেটমেন্ট
- অ্যারে (Array) কী? অ্যারে ব্যবহারের সুবিধা অসুবিধা