日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> C語言跳出循環(huán)
新聞資訊
NEWS INFORMATION

C語言跳出循環(huán)

發(fā)布時間:2019-05-22

使用while或for循環(huán)時,如果想提前結(jié)束循環(huán)(在不滿足結(jié)束條件的情況下結(jié)束循環(huán)),可以使用break或continue關(guān)鍵字。

break關(guān)鍵字

在《C語言switch語句》一節(jié)中,我們講到了break,用它來跳出 switch 語句。

當 break 關(guān)鍵字用于 while、for 循環(huán)時,會終止循環(huán)而執(zhí)行整個循環(huán)語句后面的代碼。break 關(guān)鍵字通常和 if 語句一起使用,即滿足條件時便跳出循環(huán)。

使用 while 循環(huán)計算1加到100的值:

  1. #include <stdio.h>
  2. int main(){
  3. int i=1, sum=0;
  4. while(1){ //循環(huán)條件為死循環(huán)
  5. sum+=i;
  6. i++;
  7. if(i>100) break;
  8. }
  9. printf("%d\n", sum);
  10. return 0;
  11. }

運行結(jié)果:
5050

while 循環(huán)條件為 1,是一個死循環(huán)。當執(zhí)行到第100次循環(huán)的時候,計算完i++;后 i 的值為 101,此時 if 語句的條件 i> 100 成立,執(zhí)行break;語句,結(jié)束循環(huán)。

在多層循環(huán)中,一個 break 語句只向外跳一層。例如,輸出一個4*4的整數(shù)矩陣:

  1. #include <stdio.h>
  2. int main(){
  3. int i=1, j;
  4. while(1){ // 外層循環(huán)
  5. j=1;
  6. while(1){ // 內(nèi)層循環(huán)
  7. printf("%-4d", i*j);
  8. j++;
  9. if(j>4) break; //跳出內(nèi)層循環(huán)
  10. }
  11. printf("\n");
  12. i++;
  13. if(i>4) break; // 跳出外層循環(huán)
  14. }
  15. return 0;
  16. }

運行結(jié)果:

1   2   3   4
2   4   6   8
3   6   9   12
4   8   12  16

當 j>4 成立時,執(zhí)行break;,跳出內(nèi)層循環(huán);外層循環(huán)依然執(zhí)行,直到 i>4 成立,跳出外層循環(huán)。內(nèi)層循環(huán)共執(zhí)行了4次,外層循環(huán)共執(zhí)行了1次。

continue語句

continue 語句的作用是跳過循環(huán)體中剩余的語句而強制進入下一次循環(huán)。continue語句只用在 while、for 循環(huán)中,常與 if 條件語句一起使用,判斷條件是否成立。

來看一個例子:

  1. #include <stdio.h>
  2. int main(){
  3. char c = 0;
  4. while(c!='\n'){ //回車鍵結(jié)束循環(huán)
  5. c=getchar();
  6. if(c=='4' || c=='5'){ //按下的是數(shù)字鍵4或5
  7. continue; //跳過當次循環(huán),進入下次循環(huán)
  8. }
  9. putchar(c);
  10. }
  11. return 0;
  12. }

運行結(jié)果:
0123456789↙
01236789

程序遇到while時,變量c的值為'\0',循環(huán)條件c!='\n'成立,開始第一次循環(huán)。getchar() 使程序暫停執(zhí)行,等待用戶輸入,直到用戶按下回車鍵才開始讀取字符。

本例我們輸入的是 0123456789,當讀取到4或5時,if 的條件c=='4'||c=='5'成立,就執(zhí)行 continue 語句,結(jié)束當前循環(huán),直接進入下一次循環(huán),也就是說putchar(c);不會被執(zhí)行到。而讀取到其他數(shù)字時,if 的條件不成立,continue 語句不會被執(zhí)行到,putchar(c);就會輸出讀取到的字符。

break與continue的對比:break 用來結(jié)束所有循環(huán),循環(huán)語句不再有執(zhí)行的機會;continue 用來結(jié)束本次循環(huán),直接跳到下一次循環(huán),如果循環(huán)條件成立,還會繼續(xù)循環(huán)。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

平远县| 怀集县| 宣城市| 闸北区| 茌平县| 雅安市| 雅安市| 缙云县| 庆安县| 台东市| 新丰县| 文化| 定安县| 宁都县| 吴堡县| 荔波县| 勃利县| 武胜县| 靖边县| 涞源县| 株洲县| 龙陵县| 阿克苏市| 平武县| 治多县| 长治县| 鞍山市| 黑龙江省| 江山市| 铁力市| 桦川县| 肇源县| 托克逊县| 专栏| 凌海市| 孝义市| 永川市| 万盛区| 营口市| 保山市| 东丰县|