ساختار شرطی

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

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

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

دستور if-else-if 
این دستور شرطی که برای دو یا چند شرط بکار می‌رود. اگر شرط در دستور 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 اجرا می‌شوند.
مقدار عبارات (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 است.

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

منابع 
 
 
 
 
 
 
 
 
 

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