دستورات شرطی در ++C
دستورات شرطی برای اجرای کد بر اساس یک شرط خاص استفاده میشوند. در ++C چندین ساختار برای پیادهسازی شرطها وجود دارد که شامل if، if-else، if-else if-else و switch است.
۱. دستور if (شرط ساده)
اگر شرط داخل if درست (true) باشد، کد داخل {} اجرا میشود، در غیر این صورت از آن عبور میکند.
int x = 10;
if (x > 5) {
cout << "x بزرگتر از 5 است." << endl;
}
if (x > 5) {
cout << "x بزرگتر از 5 است." << endl;
}
۲. دستور if-else (شرط دوگانه)
اگر شرط درست باشد، بلوک if اجرا میشود، در غیر این صورت بلوک else اجرا میشود.
int x = 3;
if (x > 5) {
cout << "x بزرگتر از 5 است." << endl;
} else {
cout << "x کوچکتر یا مساوی 5 است." << endl;
}
if (x > 5) {
cout << "x بزرگتر از 5 است." << endl;
} else {
cout << "x کوچکتر یا مساوی 5 است." << endl;
}
۳. دستور if-else if-else (چندین شرط)
اگر شرط اول درست باشد، همان بلوک اجرا میشود، در غیر این صورت شرط بعدی بررسی میشود. اگر هیچکدام درست نباشند، بلوک else اجرا خواهد شد.
int x = 7;
if (x > 10) {
cout << "x بزرگتر از 10 است." << endl;
} else if (x > 5) {
cout << "x بین 6 تا 10 است." << endl;
} else {
cout << "x کوچکتر یا مساوی 5 است." << endl;
}
if (x > 10) {
cout << "x بزرگتر از 10 است." << endl;
} else if (x > 5) {
cout << "x بین 6 تا 10 است." << endl;
} else {
cout << "x کوچکتر یا مساوی 5 است." << endl;
}
۴. دستور switch-case (چندین شرط بر اساس مقدار مشخص)
switch زمانی استفاده میشود که مقدار یک متغیر را با چند مقدار خاص مقایسه کنیم.
int day = 3;
switch (day) {
case 1:
cout << "شنبه" << endl;
break;
case 2:
cout << "یکشنبه" << endl;
break;
case 3:
cout << "دوشنبه" << endl;
break;
default:
cout << "روز نامعتبر" << endl;
}
switch (day) {
case 1:
cout << "شنبه" << endl;
break;
case 2:
cout << "یکشنبه" << endl;
break;
case 3:
cout << "دوشنبه" << endl;
break;
default:
cout << "روز نامعتبر" << endl;
}
نکات مهم در switch:
- هر case باید با break تمام شود تا از اجرای ناخواستهی موارد بعدی جلوگیری شود.
- default زمانی اجرا میشود که هیچکدام از caseها برقرار نباشد.
۵. عملگر شرطی سهگانه ?:
این عملگر جایگزینی فشرده برای if-else است.
int x = 10, y = 20;
int max = (x > y) ? x : y;
cout << "بیشترین مقدار: " << max << endl;
int max = (x > y) ? x : y;
cout << "بیشترین مقدار: " << max << endl;
این کد معادل زیر می باشد:
int max;
if (x > y)
max = x;
else
max = y;
if (x > y)
max = x;
else
max = y;
