亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

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

時(shí)間:2023-10-16 09:35:32 飛宇 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

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

  C語(yǔ)言在程序員中備受青睞,成為最近25年使用最為廣泛的編程語(yǔ)言。那么大家知道C語(yǔ)言跳出循環(huán)是怎么回事呢?下面一起來(lái)看看!

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

  break關(guān)鍵字

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

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

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

  #includeint main(){ int i=1, sum=0; while(1){ //循環(huán)條件為死循環(huán) sum+=i; i++; if(i>100) break; } printf("%d", sum); return 0;}

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

  5050

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

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

  #includeint main(){ int i=1, j; while(1){ // 外層循環(huán) j=1; while(1){ // 內(nèi)層循環(huán) printf("%-4d", i*j); j++; if(j>4) break; //跳出內(nèi)層循環(huán) } printf(""); i++; if(i>4) break; // 跳出外層循環(huán) } return 0;}

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

  1 2 3 4

  2 4 6 8

  3 6 9 12

  4 8 12 16

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

  continue語(yǔ)句

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

  來(lái)看一個(gè)例子:

  #includeint main(){ char c = 0; while(c!=){ //回車鍵結(jié)束循環(huán) c=get); if(c==4 || c==5){ //按下的是數(shù)字鍵4或5 continue; //跳過當(dāng)次循環(huán),進(jìn)入下次循環(huán) } putc); } return 0;}

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

  0123456789↙

  01236789

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

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

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

 、賑ontinue(跳出本次循環(huán))

  # include

  main()

  {

  int y=10;

  for(;y>0;y--)

  if(y%3==0)/*整除3的依次為9、6、3*/

  {printf("%d",--y);continue;}

  /*跳出本次循環(huán),繼續(xù)循環(huán)至結(jié)束,--y為8、5、2*/

  }

  輸出結(jié)果為--y=8、5、2

  ~

 、 break(跳出整個(gè)循環(huán))

  # include

  main()

  {

  int y=10;

  for(;y>0;y--)

  if(y%3==0)/*整除3的依次為9、6、3*/

  {printf("%d",--y);break;}

  /*跳出整個(gè)循環(huán),不繼續(xù)循環(huán),--y為8*/

  }

  輸出結(jié)果為--y=8

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

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

【C語(yǔ)言跳出循環(huán)】相關(guān)文章:

C語(yǔ)言循環(huán)基礎(chǔ)知識(shí)附代碼示例11-11

C語(yǔ)言和C++的區(qū)別精選03-01

C語(yǔ)言和C++的區(qū)別03-09

怎樣學(xué)習(xí)c++c語(yǔ)言編程04-28

java語(yǔ)言和c語(yǔ)言的區(qū)別03-01

c語(yǔ)言、c++語(yǔ)言兩者的區(qū)別和聯(lián)系08-17

C語(yǔ)言的由來(lái)與發(fā)展02-28

C語(yǔ)言函數(shù)的定義03-03

C語(yǔ)言程序的實(shí)現(xiàn)09-27

什么是C語(yǔ)言函數(shù)02-28