Selection And Control Structures Flashcards
The biggest problem of goto() function
دستور goto با ايجاد jumping در برنامه نظم اجراي دستورات را برهم زده و باعث عدم توانايي در اشكال زدايي برنامه خواهد شد.
if // (nested) else if // else
ساده ترين دستور انتخاب و انشعاب در زبان C
if (condition) { Statements; } else if (condition) { Statement } else } Statement }
3 important specification of every software control structure
1- sequential execution
2- selection
3- repetition
با وجود اين سه خاصيت ميتوان هر نوع الگوريتم ساده و يا پيچيده اي را طراحي كرد.
The difference between = and == statements
در معادله هاي انتسابي تارگت و يا L-Value ميبايست يك عبارت ساده باشد ولي در جمله هاي مقايسه اي امكان استفاده از هر نوع عبارت پيچيده اي در هر دو طرف جمله وجود دارد.
همچنين از نظر زماني در معادله هاي انتسابي L-Value در زمان حال و طرف ديگر در گذشته اتفاق افتاده است ولي در جمله هاي مقايسه اي هر دو طرف در زمان حال هستند.
Repetition structures
- while
- do while
- for
از حلقه while براي مواردي كاربرد دارد كه تعداد تكرار ان مشخص نيست.
Variable initializing
در بعضي موارد مثلا به هنگام تعريف متغييري كه قرار است مقدار جمع چندين عدد را كه با استفاده از حلقه for دريافت شده نگه دارد ميبايست ابتدا انرا با عدد صفر مقدار دهي كنيم. در غير اينصورت حاصل جمع عددي اشتباه خواهد بود.
while / if / break
ميتوان در داخل حلقه ها از تركيب كلمات كليدي if و break و continue براي كنترل هر چه بيشتر حلقه استفاده كرد.
while (i
while (0) / while (1)
اين نوع از loop ها به صورت دايمي تكرار خواهند شد مگر اينكه در داخل حلقه توسط يك شرط و عبارت break استفاده كنيم. در واقع تعداد تكرار اين حلقه ها يا توسط كاربر يا توسط شرط تعيين ميشود.
#define TRUE -1 #define FALSE 0
كلمه كليري true در زبان سي تعريف نشده و ولي در زبان c++ تعريف شده است. براي استفاده از اين عبارت در حلقه هاي زبان سي ميبايست آنرا با استفاده از دستور زير به عنوان بك pre proccessor و ماكرو تعريف كرد.
#define TRUE -1 #define FALSE 0
حلقه while
خر حلقه از نوع while داراي چهار بخش اصلي ميباشد. 1- initializer 2- termination condition 3- statements 4- update rule, i -> counter
int i = 0; initializer
while (i
حلقه for
for ( counter ; termination condition; ipdate rule)
{
Statements;
}
if / continue / break
با استفاده از كلمات كليدي break - continue ميتوان براي شرط اجراي حلقه ها استثنا قايل شد.
Continue برگشت به اول حلقه
Break خروج از حلقه
switch
جايگزين مناسب براي if هاي تو در توي متوالي است.
switch(variable) {
case A: statements; break;
case B: statements; break;
default: statements; break }
do - while loop
do {
Statements;
} while (termination condition);
حلقه do-while مستقل از شرط آن حداقل يكبار اجرا خواهد شد.