সি প্রোগ্রামিং if, if….else, এবং nested if…. else স্টেটমেন্টঃ
প্রোগ্রামিং সি তে if, if….else, এবং nested if…. else স্টেটমেন্ট ব্যবহার করা হয় নিদিষ্ট একটি সিদ্ধান্ত নেওয়ার জন্য। এর অর্থ হল প্রোগ্রাম এর কোন কোড কাজ করবে কিনা বা কোন কোড বাদ যাবে কিনা তা নির্ভর করে টেস্ট এক্সপ্রেশন এর উপর।
if (test expression) { statement/s to be executed if test expression is true;// যদি টেস্ট এক্সপ্রেশন সত্য হয় তাহলে এটি কাজ করবে // } |
if স্টেটমেন্টঃ
if স্টেটমেন্ট আগে এর এক্সপ্রেশন চেক করবে। যদি এটি সত্য হয় তাহলে এটি এক্সিকিউট করবে, মিথ্যা হলে if স্টেটমেন্ট এর মধ্যে কি আছে তা প্রোগ্রাম কখনই চেক করবে না।
If স্টেটমেন্ট এর ফ্লোচার্টঃ
এখন আমরা একটি প্রোগ্রাম এর মাধ্যমে If স্টেটমেন্ট এর উদাহরন দেখতে পারি।
এমন একটা প্রোগ্রাম লিখতে হবে যেখানে ইউজার সংখ্যা ইনপুট দিবে এবং সংখ্যা টি যদি নেগিটিভ হয় তা হলেই শুধু প্রিন্ট হবে।
#include <stdio.h> int main() { int num; printf(“Enter a number to check.\n”); scanf(“%d”,&num); if(num<0) /* checking whether number is less than 0 or not. */ // এখান এ চেক করা হচ্ছে নাম্বারটি কি 0 থেকে বড় নাকি ছোট// {printf(“Number = %d\n”,num); /*If test condition is true, statement above will be executed, otherwise it will not be executed */ // যদি টেস্ট কন্ডিশন সত্য হয়, উপর এর স্টেটমেন্টটি কাজ করবে। অন্যথায় এটি কাজ করবে না। // printf(“The if statement in C programming is easy.”); |
এই প্রোগ্রামটির আউটপুট হল:
Enter a number to check. -2 Number = -2 The if statement in C programming is easy. |
এখানে ইউজার যখন -2 ইনপুট করবে তখন টেস্ট এক্সপ্রেশন টি(num<0) সত্য হবে । তখন নাম্বার= -2 ডিসপ্লে তে দেখা যাবে।
২য় আউটপুটঃ
Enter a number to check. 5 The if statement in C programming is easy. |
এখানে ইউজার যখন 5 ইনপুট করবে তখন টেস্ট এক্সপ্রেশন টি(num<0) মিথ্যা হবে। তাই if
স্টেটমেন্ট এর বডির মধ্যে যে স্টেটমেন্ট টি আছে সেটা বাদ দিয়ে প্রোগ্রাম সরাসরি নিচের স্টেটমেন্ট টি ডিসপ্লে করবে।
if….else স্টেটমেন্ট:
একটি প্রোগ্রাম এর টেস্ট এক্সপ্রেশন যদি সত্য হয় তখন যদি আমরা সেই স্টেটমেন্ট টি এক্সিকিউট করতে চাই, আবার যদি টেস্ট এক্সপ্রেশন টি মিথ্যাও হয় তখনও যদি আমরা আর একটি স্টেটমেন্ট এক্সিকিউট করতে চাই তাহলে প্রোগ্রামিং সি তে আমরা if….else স্টেটমেন্ট ব্যবহার করি।
if….else স্টেটমেন্ট এর সিনট্যাক্সঃ
if (test expression) { statements to be executed if test expression is true;// স্টেটমেন্টটি কাজ করবে যখন টেস্ট এক্সপ্রেশনটি সত্য হবে // } else { statements to be executed if test expression is false;// স্টেটমেন্টটি কাজ করবে যখন টেস্ট এক্সপ্রেশনটি মিথ্যা হবে // } |
if….else স্টেটমেন্ট এর ফ্লোচার্টঃ
if….else স্টেটমেন্ট এর উদাহরন সরূপ আমরা নিচের উদাহরন টা দেখতে পারি।
এমন একটি প্রোগ্রাম লিখতে হবে যা কোন নাম্বার ইনপুট করলে সেটা ইভেন না অড সেটা ডিসপ্লে করবে।
#include<stdio.h> int main(){ int num; printf(“Enter a number you want to check.\n”); scanf(“%d”,&num); if((num%2)==0) //checking whether remainder is 0 or not.//// চেক করছে ভাগশেষ 0 কিনা// printf(“%d is even.”,num); else printf(“%d is odd.”,num); return 0; } |
১ম আউটপুটঃ
Enter a number you want to check. 25 25 is odd. |
২য় আউটপুটঃ
Enter a number you want to check. 2 2 is even. |
nested if …. else স্টেটমেন্ট(if……else if……else স্টেটমেন্ট)
যখন একটা প্রোগ্রামে একের অধিক টেস্ট এক্সপ্রেশন ব্যবহার করা হয় তখন নেসটেড ইফ…. এলস স্টেটমেন্ট ব্যবহার করা হয়।
Nested if…. else স্টেটমেন্ট এর সিনট্যাক্সঃ
if (test expression 1){ statement/s to be executed if test expression 1 is true;// এই স্টেটমেন্টটি কাজ করবে যখন টেস্ট এক্সপ্রেশন ১ সত্য হবে// } else if(test expression 2) { statement/s to be executed if test expression 1 is false and 2 is true; // এই স্টেটমেন্টটি কাজ করবে যখন টেস্ট এক্সপ্রেশন ১ মিথ্যা হবে এবং টেস্ট এক্সপ্রেশন ২ সত্য হবে // { // এই স্টেটমেন্টটি কাজ করবে যখন টেস্ট এক্সপ্রেশন ১ এবং ২ মিথ্যা হবে এবং টেস্ট এক্সপ্রেশন ৩ সত্য হবে // } . // এই স্টেটমেন্টটি কাজ করবে যখন সবগুলো টেস্ট এক্সপ্রেশন মিথ্যা হবে// |
এখন আমরা দেখব nested if…. else কিভাবে কাজ করেঃ
nested if…. else স্টেটমেন্ট একের অধিক টেস্ট এক্সপ্রেশন থাকে। যদি ১ম টেস্ট এক্সপ্রেশন টি সত্য হয় তাহলে প্রোগ্রাম ১ম টেস্ট এক্সপ্রেশনের নিচের {} এর মধ্যের কোড টুকু এক্সিকিউট করে। যদি ১ম টেস্ট এক্সপ্রেশন টি মিথ্যা হয় তাহলে প্রোগ্রাম ২য় টেস্ট এক্সপ্রেশনটি চেক করে এবং যদি ২য় টেস্ট এক্সপ্রেশনটি সত্য হয় তাহলে প্রোগ্রাম ২য় টেস্ট এক্সপ্রেশনের নিচের {} এর মধ্যের কোড টুকু এক্সিকিউট করে। এভাবেই এই প্রক্রিয়া টি চলতে থাকে। যদি সবগুলো টেস্ট এক্সপ্রেশন মিথ্যা হয় তাহলে প্রোগ্রাম এলস এর {} এর মধ্যের কোড টুকু এক্সিকিউট করে।
উদাহরন সরূপ আমরা নিচের প্রোগ্রামটি দেখতে পারি।
এমন একটা প্রোগ্রাম লিখতে হবে যা ইউজার থেকে ২ টা ইন্টিজার ইনপুট নিবে এবং সে গুলার সম্পর্ক (=,< অথবা > )চিহ্ন দিয়ে প্রকাশ করবে।
#include <stdio.h> int main(){ int numb1, numb2; printf(“Enter two integers to check”.\n); scanf(“%d %d”,&numb1,&numb2); if(numb1==numb2)//checking whether two integers are equal. printf(“Result: %d = %d”,numb1,numb2); else if(numb1>numb2)//checking whether numb1 is greater than numb2. printf(“Result: %d > %d”,numb1,numb2); else printf(“Result: %d < %d”,numb2,numb1); return 0; } |
১ম আউটপুটঃ
Enter two integers to check. 5 3 Result: 5 > 3 |
২য় আউটপুটঃ
Enter two integers to check. -4 -4 Result: -4 = -4 |