1. 程式人生 > >C語言入門(四)之switch、迴圈語句

C語言入門(四)之switch、迴圈語句

switch格式

switch格式:
 
 switch (條件表示式)
 {
    case 整數: // case可以有一個或多個
        語句;
        break;
    case 整數: // case可以有一個或多個
         語句;
         break;
    default:
        語句;
        break;
 }

如何結束switch語句:
     1.遇到break
     2.執行到switch對應的大括號的結束 }

Switch得條件表示式注意點

Switch的條件表示式必須是返回整數的表示式, 也就是說()中只能放整數。

或者寫能夠轉換為整數的型別也可以, 例如char, 因為char型別可以轉換為int型別, 所以寫char也可以

switch ('A') {
        case 6:
            printf("6");
            break;
        case 8:
            printf("8");
            break;
        default:
            printf("other");
            break;
    }

case的取值

// Switch中, case後面只能放返回值是整數的表示式或者整數, 或者能夠轉換為整數的型別
    // case的取值不能重複
    // case後面不能放變數, 因為系統在編譯的時候會對Switch後面所有的case進行優化, 會根據case後面的常量值, 生成一張取值表
    int number = 7;
    switch (6) {
        case 3 + 3:
            printf("6");
            break;
        case 'A':
            printf("8");
            break;
//        case number:
//            printf("8");
//            break;
        default:
            printf("other");
            break;
    }

default的位置問題

// Switch中的default可以隨便放
    // 無論default寫到什麼地方, 它都會最後執行(只有前面所有的case都不滿足的情況才會執行)
    // 只要某一個case滿足, 那麼後面所有的case和default都會失效
    // 同理: 只要default滿足, 那麼所有的case都會失效
    switch (20) {
        default:
            printf("other\n");
//            break;
        case 6:
            printf("6");
            break;
        case 8:
            printf("8");
            break;
    }

while迴圈

最簡單的死迴圈
    while (1);

break

continue

do while

至少會執行依次迴圈體

for 迴圈

任何數值都有真假新

for (; 1; ) {
        printf("lnj");
    }

其實, 初始化表示式和迴圈後增量表達式可以寫多條語句, 語句之間用,號連線

for (int i = 0, j = 0; i < 2; i++, j++)
    {
        printf("i = %i j = %i\n", i, j);
    }

死迴圈

for(;;); // 注意: for迴圈中的條件表示式預設為真