我們?cè)谥暗慕坛讨辛私饬搜h(huán)。在本教程中,我們將在示例的幫助下學(xué)習(xí)使用break和繼續(xù)語句。
break語句在遇到循環(huán)時(shí)將立即結(jié)束循環(huán)。其語法為:
break;
break語句幾乎總是與if...else循環(huán)內(nèi)的語句一起使用。
//程序計(jì)算最多10個(gè)數(shù)字的總和 //如果輸入負(fù)數(shù),則循環(huán)終止 # include <stdio.h> int main() { int i; double number, sum = 0.0; for(i=1; i <= 10; ++i) { printf("輸入 n%d: ",i); scanf("%lf",&number); //如果用戶輸入的是負(fù)數(shù),循環(huán)結(jié)束 if(number < 0.0) { break; } sum += number; //等同 sum = sum + number; } printf("總和 = %.2lf",sum); return 0; }
輸出結(jié)果
輸入 n1: 2.4 輸入 n2: 4.5 輸入 n3: 3.4 輸入 n4: -3 總和 = 10.30
該程序計(jì)算最多10個(gè)數(shù)字的總和。為什么最多10個(gè)數(shù)字?這是因?yàn)槿绻脩糨斎胍粋€(gè)負(fù)數(shù),則該break語句將被執(zhí)行。這將結(jié)束for循環(huán),并顯示sum(總和)。
在C中,break與switch語句一起使用。這將在下一個(gè)教程中討論。
continue語句跳過循環(huán)的當(dāng)前迭代,并繼續(xù)下一個(gè)迭代。其語法為:
continue;
continue語句幾乎總是與該if...else語句一起使用。
//程序計(jì)算最多10個(gè)數(shù)字的總和 //從計(jì)算中跳過負(fù)數(shù) # include <stdio.h> int main() { int i; double number, sum = 0.0; for (i = 1; i <= 10; ++i) { printf("輸入 n%d: ", i); scanf("%lf", &number); if (number < 0.0) { continue; } sum += number; //等同 sum = sum + number; } printf("總和 = %.2lf", sum); return 0; }
輸出結(jié)果
輸入 n1: 1.2 輸入 n2: 3.4 輸入 n3: 6.7 輸入 n4: 4.5 輸入 n5: -3.8 輸入 n6: -48.8 輸入 n7: 34.9 輸入 n8: -4.6 輸入 n9: -1000 輸入 n10: 18 總和 = 68.70
在此程序中,當(dāng)用戶輸入一個(gè)正數(shù)時(shí),使用sum += number;語句計(jì)算總和(sum)。
當(dāng)用戶輸入一個(gè)負(fù)數(shù)時(shí),將continue執(zhí)行該語句,并從計(jì)算中跳過該負(fù)數(shù)。