C語言入門(四)之switch、迴圈語句
阿新 • • 發佈:2018-12-16
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迴圈中的條件表示式預設為真