شرطها در زبان C به شما امکان میدهند جریان اجرای برنامه را بر اساس شرایط مختلف کنترل کنید. این ساختارها برای تصمیمگیری در برنامهنویسی ضروری هستند.
انواع ساختارهای شرطی در C
c
if (condition) {
// کدهایی که اگر شرط درست باشد اجرا میشوند
}مثال:
c
int age = 20;
if (age >= 18) {
printf("شما بزرگسال هستید.\n");
}c
if (condition) {
// کدهای بخش if
} else {
// کدهای بخش else
}مثال:
c
int number = 10;
if (number % 2 == 0) {
printf("عدد زوج است.\n");
} else {
printf("عدد فرد است.\n");
}c
if (condition1) {
// کدهای شرط اول
} else if (condition2) {
// کدهای شرط دوم
} else {
// کدهای پیشفرض
}مثال:
c
int score = 85;
if (score >= 90) {
printf("نمره عالی!\n");
} else if (score >= 80) {
printf("نمره خوب!\n");
} else if (score >= 70) {
printf("قابل قبول!\n");
} else {
printf("نیاز به تلاش بیشتر!\n");
}c
switch (variable) {
case value1:
// کدهای مربوط به value1
break;
case value2:
// کدهای مربوط به value2
break;
default:
// کدهای پیشفرض
}مثال:
c
char grade = 'B';
switch (grade) {
case 'A':
printf("عالی!\n");
break;
case 'B':
printf("خوب!\n");
break;
case 'C':
printf("متوسط!\n");
break;
default:
printf("نمره نامعتبر!\n");
}عملگرهای شرطی پرکاربرد
عملگرمعنیمثال==مساویif (a == b)!=نامساویif (a != b)>بزرگترif (a > b)<کوچکترif (a < b)>=بزرگتر یا مساویif (a >= b)<=کوچکتر یا مساویif (a <= b)&&AND (و منطقی)if (a > 0 && b > 0)“OR (یا منطقیif (a == 0b == 0)!NOT (نقیض)if (!(a == b))
نکات مهم در استفاده از شرطها
همیشه از آکولاد {} استفاده کنید حتی اگر بدنه شرط یک خط باشد.
در switch-case حتماً از break استفاده کنید، در غیر این صورت تمام caseهای بعدی اجرا میشوند.
از مقایسه اعداد اعشاری با == خودداری کنید (به دلیل خطای محاسباتی ممیز شناور).
برای خوانایی بهتر، شرطهای پیچیده را در پرانتز قرار دهید:
c
if ((age >= 18) && (hasLicense == 1)) { ... }مثال کاربردی: محاسبۀ BMI
c
float weight = 70.5;
float height = 1.75;
float bmi = weight / (height * height);if (bmi < 18.5) {جایگزین شرطهای ساده: عملگر سهگانه (Ternary Operator)
c
variable = (condition) ? value_if_true : value_if_false;مثال:
c
int a = 5, b = 10;
int max = (a > b) ? a : b;جمعبندی
if برای شرطهای ساده
if-else برای انتخاب بین دو گزینه
if-else if-else برای چندین شرط
switch-case برای مقایسه یک متغیر با مقادیر ثابت
با استفاده درست از شرطها میتوانید برنامههای هوشمند و انعطافپذیر بنویسید.
موفق باشید، بهراد قاسمی