1. if語句
. if語句
if (x %2)
y += x / 2;
如果括號裡的表達式為真,執行 y += x / 2;語句。
. if else語句
if (x % 2 == 0)
y += x / 2;
else
y += (x + 1) / 2;
如果if中的表達式為真則執行if後面的語句,否則執行else後面的語句。
. if else if語句
if (x % 2 == 0)
y += x / 2;
else if (x % 4 == 1)
y += 2 * ((x + 3) / 4);
else
y += (x + 1) / 2;
2. switch語句
switch (ch) {
case 'Y':
break;
case 'N':
break;
default:
break;
}
如果匹配成功,將執行case後面的語句。如果case後面沒有break語句,那麼它將繼續向下執行,直到整個語句結束或遇到break。有時,我們可以利用這點故意不寫出break語句。例如:
switch (ch) {
case 'Y':
case 'y':
break;
}
default是可選的,可以寫也可以不寫。
3. while語句
while ( /* condition */)
/* loop body */
4. for語句
int factorial(int n)
{
int i, j = 1;
for (i = 1; i <= n; i++)
j *= i;
return j;
}
for語句包含三個部分:
初始化部分:i = 1
條件部分:i <= n
調整部分:i++
這三個部分每一個部分都是可選的,但是分號不能省略。
初始化部分只在循環開始開始時執行一次。
其實for語句可以和while語句互換的,例如前面的例子可以用while語句改寫成:
int factorial(int n)
{
int j = 1;
int i = 1; /* initialzation */
while (i <= n) { /* condition */
j *= i;
i++; /* increment*/
}
return j;
}
對於for中的復合表達式,用逗號分割。
int factorial(int n) {
int i, j;
for (i = 1, j = 1; i <= n; j *= i, i++)
;
return j;
}
那到底選擇for語句還是while語句,要根據實際情況而定,如果要做簡單的初始化與增量處理,那最好還是選for語句,而且把循環控制部分放在頂部,也便於理解。
5. do while語句
同while不同的是,它要先執行一次循環體部分,然後再做條件判斷。
6. break和continue關鍵字
break語句用於推出最內層循環或swith語句中的退出。
continue語句表示跳過循環體部分,直接調到循環的條件部分,執行下一次循環。