C语言高手快进来!!!!!!!!!!!!!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/07/08 03:13:54
4.以下程序段的输出为______。
int a,b;
for(a=2,b=1;a<=100;a++)
{
if(b>=20)break;
if(b%3==1)
{
b+=3;
continue;
}
b=-5;
}
printf("%d\",a);
5.以下程序段输出“*”的个数为______。
int i,j;
i=0;j=0;
while(i++<5)
{
j=0;
do
{
printf("*")
}while(++j<4);
}

第一个 a=9
每次循环 当 b+3=22 时 不再循环 b循环7次 所以a+7=9

第二个 输出 20个
i=0 ,j=0,1,2,3 可输出四个*
因为 i=0,1,2,3,4
所以 相乘 4*5=20

a = 9

* = 20

第一题是输出为9
第二题是20次

1.因为b的初值是1,所以执行第二个if(b%3==1),执行b+=3后b=4,continue语句使程序进入下一次循环,b的值一直这样加3,直到b=22(>=20,加了7次),然后break语句结束了本次循环,此时a的值为9.此题关键是理解continue语句和break语句。
2.此题为循环的嵌套。在while循环里的do…while循环每次都循环4次,而while循环本身循环了5次,即执行了20次“ printf("*")”语句,所以*得个数为20.