
مقدمه
شرطها در زبان 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) { printf("کمبود وزن\n"); } else if (bmi < 25) { printf("وزن نرمال\n"); } else if (bmi < 30) { printf("اضافه وزن\n"); } else { printf("چاقی\n"); }
جایگزین شرطهای ساده: عملگر سهگانه (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 برای مقایسه یک متغیر با مقادیر ثابت
با استفاده درست از شرطها میتوانید برنامههای هوشمند و انعطافپذیر بنویسید.
موفق باشید، بهراد قاسمی