ساختار شرطی

بندانگشتی|200px

گاهی در برنامه باید تصمیم‌گیری کنیم، یعنی تحت شرایطی گروهی از دستورها اجرا شوند و گروهی دیگر اجرا نشوند، که در این صورت از **ساختار شرطی** استفاده می‌کنیم. ساختار شرطی یکی از ساختارهای زبان ++C (سی‌پلاس‌پلاس) است که یاد گرفتن آن برای برنامه‌نویسی ضروری است.

## دستور if
یک دستور شرطی ساده است که اگر شرط‌ها درست بودند، برنامه اجرا میشود.

## دستور if-else
یک دستور شرطی است که اگر شرط شرایط درست باشد، دستورهای if اجرا می‌شوند و اگر شرط درست نباشند دستور else اجرا می‌شود. فرم کلی این دستور: 
بندانگشتی|فلوچارت دستور شرطی if-else 
                                      ((if (condition(s
                                     statement1 }
                                              .
                                              .  
                                              .
                                   ;statementN
                                                                         {

## دستور if-else-if
این دستور شرطی که برای دو یا چند شرط بکار می‌رود. اگر شرط در دستور if درست باشد دستورها اجرا شده و بقیه اجرا نمیشوند، اگر شرط if درست نباشد کامپایلر سراغ دستور بعدی میرود و اگر هیچ‌کدام درست نباشند دستور else اجرا میشود. این دستور که شامل if‌های تو در تو نیز هست. 
فرم کلی این دستور:
بندانگشتی|فلوچارت دستور شرطی if-else-if
                                ((if(condition(s 
                             ;statement
                             ((ifelse(condition(s
                             ;statement       .
                                         .                 .
                                         .                 .
                                        .
                          ((ifelse(condition(s
                             ;statement
                                                    else
                             ;statement

## ساختارswitch
ساختار تصمیم گیری دیگری است که در آن فقط عمل مقایسه تساوی صورت می‌گیرد. 
نکات:
# عبارت داخل پرانتز ارزیابی می‌شود و مقدار آن به ترتیب با مقدار عبارت هر کدام از case‌ها مقایسه می‌شود و اگر با مقدار عبارت case اول برابر بود دستورهای آن case فقط اجرا می‌شود و با اجرای دستور break از ساختار switch خارج می‌شود. 
# اگر عبارت داخل پرانتز با مقدار عبارت case برقرار نبود با مقدار عبارت caseبعدی عمل مقایسه می‌شود واگر باهیچ کدام از caseها برابر نبود دستورهای قسمت default اجرا می‌شوند.
#بندانگشتی|فلوچارت دستور شرطی switchمقدار عبارات (exp) فقط از نوع int (داده صحیح) یا char (داده کاراکتری) است و اگر در یک case از دستور break استفاده نشود case بعدی هم اجرا می‌شود. فرم کلی **ساختارswitch** :
                                    (switch(exp  
                                             }                                           
                                  : <case<exp1
                        ;statement1
                                  .
                                  .
                                  .
                       ;statementN
                            ;break
                                  :<case<exp2
                       ;statement2
                                  .
                                  .   
                                  .
                      ;statementN
                            ;break
                                  : <case<expN 
                      ;statement1
                                  .
                                  .
                                  .
                     ;statementN
                          ;break
                                            :default
                     ;statement1
                                  .
                                  .
                                  .
        { ;statementN
**دستور break:** این دستور موجب خروج از حلقه‌های تکرار میشود. اگر چند حلقه تودرتو وجود داشته باشد، این دستور موجب خروج از داخلی‌ترین حلقه تکرار می‌شود. کاربرد دیگر این دستور، خاتمه دادن به ساختار switch است.

## جستارهای وابسته
* سی پلاس پلاس
* رایانه
* کامپایلر
* برنامه نویسی

## منابع
* 
* 
* 
* 
* 
* 
* 
* 
* 

رده:ساخت‌های شرطی
رده:علوم رایانه