C语言中要改变循环语句的流程可以使用的语句有哪些
C語言中要改變循環(huán)語句的流程可以使用的語句有:break,continue和goto。break語句可以終止循環(huán)而執(zhí)行整個循環(huán)語句后面的代碼;continue語句可以跳過循環(huán)體中剩余的語句而強制進入下一次循環(huán)。
break關(guān)鍵字
當 break 關(guān)鍵字用于 while、for 循環(huán)時,會終止循環(huán)而執(zhí)行整個循環(huán)語句后面的代碼。break 關(guān)鍵字通常和 if 語句一起使用,即滿足條件時便跳出循環(huán)。
使用 while 循環(huán)計算1加到100的值:
#include?
int main(){
????int i=1, sum=0;
????while(1){? //循環(huán)條件為死循環(huán)
????????sum =i;
????????i ;
????????if(i>100) break;
???}
????printf("%d\n", sum);
????return 0;
}
運行結(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ù)矩陣:
#include?
int 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("\n");
????????i ;
????????if(i>4) break;? // 跳出外層循環(huán)
????}
????return 0;
}
運行結(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 條件語句一起使用,判斷條件是否成立。
來看一個例子:
#include?
int main(){
????char c = 0;
????while(c!='\n'){? //回車鍵結(jié)束循環(huán)
????????c=getchar();
????????if(c=='4' || c=='5'){? //按下的是數(shù)字鍵4或5
????????????continue;? //跳過當次循環(huán),進入下次循環(huán)
????????}
????????putchar(c);
????}
????return 0;
}
運行結(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)。
聲明:
本文于網(wǎng)絡整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)事宜。
總結(jié)
以上是生活随笔為你收集整理的C语言中要改变循环语句的流程可以使用的语句有哪些的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么不要买创业板的次新股?
- 下一篇: continue语句只用于循环语句中,它