程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言學習之控制語句

C語言學習之控制語句

編輯:關於C

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語句表示跳過循環體部分,直接調到循環的條件部分,執行下一次循環。


摘自 Tracy Mcgrady的專欄
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved