日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

switch、break与continue的用法

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 switch、break与continue的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、switch語句

switch語句格式:

{

case常量表達式1:語句1;

case常量表達式2:語句2;

case常量表達式n:語句n;

default??:語句n+1;

}

需要注意的是:

(一)所有case后面的表達式這能是這幾種情況:1、枚舉常量(有些書稱為枚舉元素)?2、數值常量?3、字符常量?4、常變量(只能被賦一個值的變量)?5、宏

(二)switch后面括號里的“表達式”允許是任何類型(但在VC++中只允許為int或char類型)。

(三)執行完一個case語句后,流程控制就轉移到下一個case語句繼續執行(case常量表達式只是起語句標號的作用,并不是在該處進行條件判斷。在執行switch語句時,根據switch()中表達式的值找到與之匹配的case語句,就從此case語句開始執行下去,不再進行判斷)

例如:

switch?(i)

{

case?1:?語句1;

case?2:?語句2;

default:?語句3;

case?:?語句4;

}

說明:?當i==1時,從case?1處開始往下一個不落的往下執行,當i==2時,從case?2處開始往下一個不落的往下執行,當i==3時,只執行case?3的語句,當i不等于1,2,3時,會執行defaulr?語句。

(四)switch是選擇不是循環。如果在switch中出現了break?語句,該語句的功能只是退出switch語句轉去執行它下面的語句。在switch中出現continue?是錯誤的,除非switch本身就屬于for或while循環的一部分。

例1.1:

# include <stdio.h>int main(void) {int val;printf("請輸入您要進入的樓層:");scanf("%d", &val);switch (val){case 1:printf("這是一樓!\n");break;case 2:printf("這是二樓!\n");break;case 3:printf("這是三樓!\n");break;default:printf("沒有蓋到這一層!\n");break;}return 0; }

你輸入1,會輸出“這是一樓!”,輸入2、3回分別輸出“這是二樓!”、“這是三樓!”,當你輸入的不是1或2或3時,會輸出“沒有這個樓層!”。


二、break?語句

break的用法

break如果用于循環是用來終止循環

break如果用于switch,則是用于終止switch

break不能直接用于if,除非if屬于循環內部的一個字句


例2.1:

# include <stdio.h>int main(void) {switch (1){case 1:printf("今天天氣不好!\n");break; //這里break可以用printf("真的不好!\n");//這個語句不會執行,因為上面的break已經將switch終止}return 0; } 輸出結果為:

例2.2:

# include <stdio.h>int main(void) {int i;for (i=0; i<3; ++i){if (3 > 2)break; //break雖然是if內部的語句,但它終止的卻是外部的for循環!!!printf("真的不好!\n"); //該語句不會被輸出}return 0; } 輸出結果為:

例2.3:

# include <stdio.h>int main() {int x = 1, y = 0, a = 0, b = 0;switch(x) //第一個switch{case 1:switch(y) //第二個switch{case 0:a++;break;//終止的是第二個switchcase 1:b++;break;//終止的是第一個switch}b = 100;break;case 2:a++;b++;break;}printf("a = %d, b = %d\n", a, b);return 0; } 輸出結果為:

例2,4:

# include <stdio.h>int main() {int i, j;<span style="white-space:pre"> </span>for (i=0; i<3; ++i){for (j=1; j<4; ++j)<span style="white-space:pre"> </span>break; // 在多層循環中,<style type="text/css">P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: justify; }P.western { font-family: "Times New Roman",serif; font-size: 10pt; }P.cjk { font-family: "宋體"; font-size: 10pt; }P.ctl { font-family: "Times New Roman",serif; font-size: 10pt; }break只能終止最里面包裹它的那個循環</style>break只能終止最里面包裹它的那個循環printf("任重而道遠!\n");}return 0; } 輸出結果為:

三、continue?語句

continue的用法

1、

for?(1;?2;?3)

{

A;

B;

continue;//如果執行continue語句,則執行完該語句后,會執行語句3,C、D會被跳過去,不會被執行

C;

D;

}


2、

while?(表達式)

{

A;

B;

continue;//如果執行continue語句,則執行完該語句后,會執行表達式,C、D會被跳過去,不會被執行

C;

D;

}


例3.1:

# include <stdio.h>int main() {int i;i = 0;while (i < 3){printf("城關東邊和南邊的人比較多!\n");printf("城里人相對較少!\n");i++;continue;//執行完continue語句后,下面的語句(12行語句)不會被執行printf("天還算可以!\n");//12行}return 0; } 輸出結果為:

例3.2:

# include <stdio.h>int main() {int i;i = 0;for (i=1; i<3; ++i){printf("城關東邊和南邊的人比較多!\n");printf("城里人相對較少!\n");continue;//執行完continue語句后,下面的語句(11行語句)不會被執行printf("天還算可以!\n");//11行}return 0; } 輸出結果為:

例3.3:

# include <stdio.h>int main(void) {int i = 0, s = 0;do{if (i%2){i++;continue;//執行完該語句會跳到14行}i++;s+=i;} while(i < 5);//14行printf("%d\n",s);return 0; } 輸出結果為;



【所有代碼均在windows系統下VC++6.0下運行通過】

如有錯誤,敬請指正

總結

以上是生活随笔為你收集整理的switch、break与continue的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。