[例3-15]打印8行7列的星形矩陣。
流程圖見(jiàn)圖3-12,程序如下:
#include<stdio.h>
main()
{
inti,j;
for(i=0;i<8,i++)/*控制行*/
{
for(j=0;j<7>;j++)/*控制列*/
printf("*");
printf("\n");/*換行*/
}
}
打印結(jié)果如下:
RUN
*******
*******
*******
*******
*******
*******
*******
*******
將程序中for(j=0;j<7;j++)改為for(j=0;j<i;j++),用行數(shù)來(lái)控制每行星號(hào)的多少,就可以打印三角形。
3.4.4break與continue語(yǔ)句
有時(shí),我們需要在循環(huán)體中提前跳出循環(huán),或者在滿足某種條件下,不執(zhí)行循環(huán)中剩下的語(yǔ)句而立即從頭開(kāi)始新的一輪循環(huán),這時(shí)就要用到break和continue語(yǔ)句。
1.break語(yǔ)句
在前面學(xué)習(xí)switch語(yǔ)句時(shí),我們已經(jīng)接觸到break語(yǔ)句,在case子句執(zhí)行完后,通過(guò)break語(yǔ)句使控制立即跳出switch結(jié)構(gòu)。在循環(huán)語(yǔ)句中,break語(yǔ)句的作用是在循環(huán)體中測(cè)試到應(yīng)立即結(jié)束循環(huán)時(shí),使控制立即跳出循環(huán)結(jié)構(gòu),轉(zhuǎn)而執(zhí)行循環(huán)語(yǔ)句后的語(yǔ)句。
[例3-16]打印半徑為1到10的圓的面積,若面積超過(guò)100,則不予打印。
#include<stdio.h>
main()
{
intr;
float area;
for(r=1;r<=10;r++)
{
area=3.141593*r*r;
if(area>100.0)
break;
printf("square=%f\n",area);
}
printf("nowr=%d\n",r);
}運(yùn)行程序:
RUN
square=3.141593
square=12.566373
square=28.274338
square=50.265488
square=78.539825
nowr=6
當(dāng)break處于嵌套結(jié)構(gòu)中時(shí),它將只跳出最內(nèi)層結(jié)構(gòu),而對(duì)外層結(jié)構(gòu)無(wú)影響。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |