معمول ترین نوع ساختار تصمیم گیری if است. یک دستور if می گوید "اگر شرطی برقرار است کد معینی را انجام بده". دستور if-else به دو شکل می تواند باشد: همراه با else يا بدون آن.
if(expression)
{
statement
}
يا
if(expression)
{
statement
}
else
{
statement
}
بدنبال کلمه if یک پرانتز می آید که عبارت شرط در آن قرار دارد و يک مقدار بولين false يا true توليد می کند (در C به صورت صفر و غير صفر ارزيابی می شود). با درست و غلط بودن عبارت شرطی مسير اجرا تعيين می شود. اگر درست باشد دستور بعد از if اجرا می شود. اگر else وجود داشته باشد در صورت برقرار نبودن شرط دستور بعد از else اجرا می شود.
مثال. شرط ساده.
if(age==18)
{
cout <<"Yahoo…. You old enough to drive!\n";
}
مثال. شرط کامل.
#include <iostream>
int main()
{
cout << "Enter your age: ";
int age;
cin >> age;
if(age < 20)
{
cout << "You are still young!\n";
}
else
cout << "You are not so young anymore.\n";
}
ممکن است دستور if-else بدون محصور شدن در آکولاد بیاید. آکولاد محدوده بلاک کد را معین می کند. اگر بلاک کد تنها شامل یک دستور باشد کامپایلر فرض می کند اولین جمله بعد از if (يا بعد از else) بلاک کد است که باید اجرا شود.
مثال. در شرط زير وقتی شرط برقرار است فقط ;++y اجرا می شود. خط دوم جز دستور if نیست و صرفنظر از درست بودن شرط همواره اجرا می شود.
if(x == 7)
y++;
z++;
شرط موردنياز در دستور if توسط عملگرهای رابطه ای <، >، <=، >=، == و != ساخته می شود. دو يا چند شرط می توانند توسط عملگرهای منطقی &&( AND)، || (OR) و ! (NOT) با هم ترکيب شوند.
مثال. چند نمونه عبارت شرطی.
if (x>6)
if (x !=6)
if (5<j<10)
if (j== 5 && I == 6)
if (j<4 || j>10)
بخاطر داشته باشید که یک علامت مساوی عملگر انتساب است و دوتا مساوی عملگر هم ارزی به معنی "آیا مساوی است با". a==b درست است اگر a برابر با b باشد. a=b مقدار b را به a نسبت می دهد. یکی از بیشترین خطاهائی که مبتدیان می کنند استفاده از علامت = به جای = = است. اگر تک مساوی را استفاده کنید شرط if همیشه درست است.
if(expression)
{
statement
}
يا
if(expression)
{
statement
}
else
{
statement
}
بدنبال کلمه if یک پرانتز می آید که عبارت شرط در آن قرار دارد و يک مقدار بولين false يا true توليد می کند (در C به صورت صفر و غير صفر ارزيابی می شود). با درست و غلط بودن عبارت شرطی مسير اجرا تعيين می شود. اگر درست باشد دستور بعد از if اجرا می شود. اگر else وجود داشته باشد در صورت برقرار نبودن شرط دستور بعد از else اجرا می شود.
مثال. شرط ساده.
if(age==18)
{
cout <<"Yahoo…. You old enough to drive!\n";
}
مثال. شرط کامل.
#include <iostream>
int main()
{
cout << "Enter your age: ";
int age;
cin >> age;
if(age < 20)
{
cout << "You are still young!\n";
}
else
cout << "You are not so young anymore.\n";
}
ممکن است دستور if-else بدون محصور شدن در آکولاد بیاید. آکولاد محدوده بلاک کد را معین می کند. اگر بلاک کد تنها شامل یک دستور باشد کامپایلر فرض می کند اولین جمله بعد از if (يا بعد از else) بلاک کد است که باید اجرا شود.
مثال. در شرط زير وقتی شرط برقرار است فقط ;++y اجرا می شود. خط دوم جز دستور if نیست و صرفنظر از درست بودن شرط همواره اجرا می شود.
if(x == 7)
y++;
z++;
شرط موردنياز در دستور if توسط عملگرهای رابطه ای <، >، <=، >=، == و != ساخته می شود. دو يا چند شرط می توانند توسط عملگرهای منطقی &&( AND)، || (OR) و ! (NOT) با هم ترکيب شوند.
مثال. چند نمونه عبارت شرطی.
if (x>6)
if (x !=6)
if (5<j<10)
if (j== 5 && I == 6)
if (j<4 || j>10)
بخاطر داشته باشید که یک علامت مساوی عملگر انتساب است و دوتا مساوی عملگر هم ارزی به معنی "آیا مساوی است با". a==b درست است اگر a برابر با b باشد. a=b مقدار b را به a نسبت می دهد. یکی از بیشترین خطاهائی که مبتدیان می کنند استفاده از علامت = به جای = = است. اگر تک مساوی را استفاده کنید شرط if همیشه درست است.