while do while switch語句的簡要分析
阿新 • • 發佈:2018-12-06
1 //// while是C語言的一個關鍵字,其後是使用一個小括號中的條件表示式來做為執行迴圈的條件,
2 ////也就是說當條件表示式的結果為真時執行大括號裡面的的程式內容,
3 ////而當條件表示式的結果為假時不執行大括號中的內容。其實這與if語句的語法有些類似,
4 ////當條件表示式為真時if後的執行程式只執行一次,而while則會迴圈執行下去,直到條件表示式的結果為假時結束
5 ////switch(選擇判斷--開關語句)的簡單運用,switch通常情況下不經常使用,因為switch下每一條case只能對應一種情況
6 ////而且每條case下面都必須要有break,容易被忽略
1#define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main() 6 { 7 int day = 0; 8 printf("輸入一個數字判斷它是星期幾\n"); 9 scanf("%d", &day); 10 switch (day){ 11 case(1) : 12 printf("星期一\n"); 13 break; 14 case(2) : 15 printf("星期二\n"); 16 break; 17 18 case(3) : 19 printf("星期三\n"); 20 break; 21 22 case(4) : 23 24 printf("星期四\n"); 25 break; 26 27 case(5) : 28 printf("星期五\n"); 29 break; 30 31 case(6) : 32 printf("星期六\n"); 33 break; 34 35case(7) : 36 printf("星期天\n"); 37 break; 38 default: 39 printf("非法輸入\n"); 40 break; 41 } 42 43 system("pause"); 44 return 0; 45 }
該條語句當 printf("%d\n", day):
放在while內部時候,當放在day++上面的時候,day打印出來的值為1一直到31,當放到day++下面的時候,day打印出來的值為1一直到32。
當放到while外面的時候打印出來的結果為32,因為條件為假是day的值加到32跳出迴圈在列印結果為32。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int day = 1; 6 while (day <= 31) 7 { 8 9 day++; 10 } 11 printf("%d\n", day); 12 13 system("pause"); 14 return 0;
1 //c語言do while語句的學習 2 //與while類似,do while語句也同樣是用於完成程式迴圈的一種方式,它的基本用法如下: 3 4 5 /*do 6 { 7 //迴圈體 8 } while (條件表示式); 9 10 11 大家可以注意到do while語法與while有一些類似,也有一些不同,類似的地方是它同樣有迴圈體和條件表示式,但執行順序與while不同,do while是先執行一次迴圈體之後再進行條件判斷。 12 13 注意,在do while語句的條件判斷後要加上一個分號; 表示語句的結束。我們還是用顯示31天的例子來學習這個語法:*/ 14 15 #include <stdio.h> 16 #include <stdlib.h> 17 int main() 18 { 19 int day = 1; 20 do{ 21 printf("%d\n", day); 22 day++; 23 } while (day <= 31); 24 system("pause"); 25 return 0; 26 } 27 ////先執行後判斷當執行到day++為32的時候,條件為假,跳出迴圈,此時列印的值為31. 28 ////當然這裡面也可以先day++1,在列印,結果為32. 29 ////接下來我們來看一看關於while語句和do while語句的細微差別。 30 ////do while語句在在執行時無論條件表示式的結果是真還是假,都會執行一次迴圈體, 31 ////然後再進行條件判斷。例如我們分別寫這樣兩段程式,它們的執行結果是不一樣的, 32 ////使用while執行迴圈: 33 // 34 //int i = 0; 35 //while (i < 0) 36 //{ 37 // i++; 38 // printf("%d\n", i); 39 //} 40 // 41 ////執行0次迴圈,沒有執行結果; 42 // 43 // 44 // 45 ////使用do while執行迴圈: 46 // 47 //int i = 0; 48 //do 49 //{ 50 // i++; 51 // printf("%d\n", i); 52 //} while (i < 0); 53 // 54 ////執行1次迴圈,執行結果為1