68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(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 語句。

當(dāng) 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. }

運(yùn)行結(jié)果:
5050

while 循環(huán)條件為 1,是一個死循環(huán)。當(dāng)執(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. }

運(yùn)行結(jié)果:

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

當(dāng) 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)體中剩余的語句而強(qiáng)制進(jì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; //跳過當(dāng)次循環(huán),進(jìn)入下次循環(huán)
  8. }
  9. putchar(c);
  10. }
  11. return 0;
  12. }

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

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

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

break與continue的對比:break 用來結(jié)束所有循環(huán),循環(huán)語句不再有執(zhí)行的機(jī)會;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

乐安县| 海阳市| 金堂县| 金沙县| 夏河县| 宜兴市| 疏附县| 内黄县| 台前县| 乌什县| 集安市| 即墨市| 屯昌县| 奎屯市| 二手房| 衡南县| 册亨县| 屏山县| 田东县| 宾阳县| 乌兰察布市| 神农架林区| 安康市| 日喀则市| 固阳县| 浮梁县| 龙泉市| 三河市| 交城县| 延长县| 芦溪县| 班玛县| 灵璧县| 武安市| 潢川县| 佳木斯市| 赫章县| 敖汉旗| 寿宁县| 晴隆县| 精河县|