ডিসিশন মেকিং স্টেটমেন্টের প্রকার
- সিম্পল
if if-else- নেস্টেড
if-else else-ifল্যাডারswitchস্টেটমেন্ট
১. সিম্পল if স্টেটমেন্ট
শর্ত সত্য হলে স্টেটমেন্ট ব্লক এক্সিকিউট হয়।
if (condition) {
statement(s);
}
উদাহরণ: ৫০ চেয়ে বড় কিনা
#include <stdio.h>
int main() {
int a;
printf("Enter a number: ");
scanf("%d", &a);
if (a > 50)
printf("%d is greater than 50\n", a);
return 0;
}
আউটপুট
Enter a number: 60 60 is greater than 50
২. if-else স্টেটমেন্ট
শর্ত সত্য হলে if-ব্লক, মিথ্যা হলে else-ব্লক এক্সিকিউট হয়।
if (condition) {
// true block
} else {
// false block
}
উদাহরণ: জোড়/বিজোড় চেক
#include <stdio.h>
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (n % 2 == 0)
printf("%d is even\n", n);
else
printf("%d is odd\n", n);
return 0;
}
৩. নেস্টেড if-else
এক if-এর ভিতরে অন্য if-else।
if (cond1) {
if (cond2) stmt1;
else stmt2;
} else {
if (cond3) stmt3;
else stmt4;
}
উদাহরণ: তিনটি সংখ্যার মধ্যে সবচেয়ে বড়
#include <stdio.h>
int main() {
int a, b, c;
printf("Enter 3 numbers: ");
scanf("%d %d %d", &a, &b, &c);
if (a > b) {
if (a > c) printf("%d is largest\n", a);
else printf("%d is largest\n", c);
} else {
if (b > c) printf("%d is largest\n", b);
else printf("%d is largest\n", c);
}
return 0;
}
আউটপুট
Enter 3 numbers: 10 20 30 30 is largest
৪. else-if ল্যাডার (Multi-way Decision)
if (cond1) stmt1;
else if (cond2) stmt2;
else if (cond3) stmt3;
...
else stmt_default;
উদাহরণ: দ্বিঘাত সমীকরণের রুট
#include <stdio.h>
#include <math.h>
int main() {
int a, b, c, d;
float r1, r2;
printf("Enter a b c: ");
scanf("%d %d %d", &a, &b, &c);
d = b*b - 4*a*c;
if (d > 0) {
r1 = (-b + sqrt(d)) / (2*a);
r2 = (-b - sqrt(d)) / (2*a);
printf("Roots: %.2f, %.2f\n", r1, r2);
} else if (d == 0) {
r1 = r2 = -b / (2*a);
printf("Equal roots: %.2f\n", r1);
} else {
printf("Roots are imaginary\n");
}
return 0;
}
৫. switch স্টেটমেন্ট
এক্সপ্রেশনের ভ্যালুর উপর ভিত্তি করে একাধিক কেস থেকে একটি নির্বাচন করে।
switch (expression) {
case val1: stmt1; break;
case val2: stmt2; break;
...
default: stmt_default;
}
উদাহরণ: সংখ্যা থেকে শব্দ
#include <stdio.h>
int main() {
int n;
printf("Enter a number (0-1): ");
scanf("%d", &n);
switch (n) {
case 0: printf("zero\n"); break;
case 1: printf("one\n"); break;
default: printf("wrong choice\n");
}
return 0;
}
আউটপুট
Enter a number: 1 one
সতর্কতা
breakনা দিলে ফল-থ্রু (fall-through) হবে — পরবর্তী কেসও এক্সিকিউট হবে।switchশুধু ইন্টিজার/ক্যারেক্টার এক্সপ্রেশন kabul করে।defaultঅপশনাল কিন্তু রিকমেন্ডেড।