ساختار شرطی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
Sakhtar.png

گاهی در برنامه باید تصمیم‌گیری کنیم، یعنی تحت شرایطی گروهی از دستورها اجرا شوند و گروهی دیگر اجرا نشوند که در این صورت از ساختار شرطی استفاده می‌کنیم. ساختار شرطی یکی از ساختارهای زبان ++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[ویرایش]

ساختار تصمیم گیری دیگری است که در آن فقط عمل مقایسه تساوی صورت می‌گیرد. نکات:

  1. عبارت داخل پرانتز ارزیابی می‌شود و مقدار آن به ترتیب با مقدار عبارت هر کدام از case‌ها مقایسه می‌شود و اگر با مقدار عبارت case اول برابر بود دستورهای آن case فقط اجرا می‌شود و با اجرای دستور break از ساختار switch خارج می‌شود.
  2. اگر عبارت داخل پرانتز با مقدار عبارت case برقرار نبود با مقدار عبارت caseبعدی عمل مقایسه می‌شود واگر باهیچ کدام از caseها برابر نبود دستورهای قسمت default اجرا می‌شوند.
  3. فلوچارت دستور شرطی 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 است.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  • «دستور switch». بایگانی‌شده از اصلی در ۱ ژانویه ۲۰۱۹. دریافت‌شده در ۲۰ اکتبر ۲۰۱۹.
  • «ساختارشرطی».
  • «ساختارهای شرطی».
  • «دستورشرطیif».
  • «دستورif-else».
  • «دستور شرطی if-else».
  • «دستورif-else-if».
  • «دستور شرطی if-else-if».
  • «ساختار switch».