请计算机C语言高手帮我解答以下三个题目,谢谢!
1.若变量i和j已经定义为int类型,则以下程序段中内循环体的总的执行次数是(A)。for(i=5;i;i--)for(j=0;j<4;j++){...}A)20B)25...
1.若变量i和j已经定义为int类型,则以下程序段中内循环体的总的执行次数是( A )。
for (i=5;i;i--)
for(j=0;j<4;j++)
{...}
A)20 B)25
C)24 D)30
2.以下程序的输出结果是( D )。
程序1-7:P1-7.c
main()
{
int a,b;
for(a=1,b=10;a<=100;a++)
{
if(b>=10)
break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d\n",a);
}
A)101 B)6
C)5 D)4
3.假定a和b为int型变量,则执行以下语句后b的值为( D )。
a=1;
b=10;
do
{
b-=a;
a++;
}
while (b--<0);
A)9 B)-2
C)-1 D)8
第一题为什么不是24?
后两题是如何循环的? 展开
for (i=5;i;i--)
for(j=0;j<4;j++)
{...}
A)20 B)25
C)24 D)30
2.以下程序的输出结果是( D )。
程序1-7:P1-7.c
main()
{
int a,b;
for(a=1,b=10;a<=100;a++)
{
if(b>=10)
break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d\n",a);
}
A)101 B)6
C)5 D)4
3.假定a和b为int型变量,则执行以下语句后b的值为( D )。
a=1;
b=10;
do
{
b-=a;
a++;
}
while (b--<0);
A)9 B)-2
C)-1 D)8
第一题为什么不是24?
后两题是如何循环的? 展开
6个回答
展开全部
展开全部
你好!!!
1.当i=5;循环4次:for(j=0;j<4;j++),j从0到3
、、、、、、、、、
当i=1的时候循环4次、、、、、、
当i=0就退出循环的了,所以循环立刻5*4=20
2.这个题目没有答案!!!实际答案是1;解释:
开始的时候a=1.b=10;然后判断if()语句,显然是成立的,那就执行break,跳出循环,此时的a的值是1
3.怎么没有输出表达式呢???
1.当i=5;循环4次:for(j=0;j<4;j++),j从0到3
、、、、、、、、、
当i=1的时候循环4次、、、、、、
当i=0就退出循环的了,所以循环立刻5*4=20
2.这个题目没有答案!!!实际答案是1;解释:
开始的时候a=1.b=10;然后判断if()语句,显然是成立的,那就执行break,跳出循环,此时的a的值是1
3.怎么没有输出表达式呢???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.若变量i和j已经定义为int类型,则以下程序段中内循环体的总的执行次数是( A )。
for (i=5;i;i--) /*i非零时执行,也就是1—5,共计5个数*/
for(j=0;j<4;j++)/*j在0到3执行,也就是四次,所以总计为5*4得20次。。*/
{...}
A)20 B)25
C)24 D)30
2.以下程序的输出结果是( D )。
程序1-7:P1-7.c
main()
{
int a,b;
for(a=1,b=10;a<=100;a++) /*初始化a、b*/
{
if(b>=10) /*满足条件b,break执行,整个for循环退出,a不进行自增了,怎么没有答案了啊~~~~~囧*/
break;
if(b%3==1)
{
b+=3;
continue; /*如果执行,则本次循环结束,for循环里面的后面的内容不执行*/
}
}
printf("%d\n",a);
}
A)101 B)6
C)5 D)4
3.假定a和b为int型变量,则执行以下语句后b的值为( D )。
a=1;
b=10;
do
{
b-=a; /*赋值为9先*/
a++; /*a变为2*/
}
while (b--<0); /*执行吧,知道b的值小于0,这个是简化写法!即循环条件为b<0(懂吧?可以把这个改写成普通的while循环,那么b--在循环内的最开始部分,但是第一次它不执行),在此同时b--自减以后进入下次循环。。稍微走一下整个过程结果就出来了*/
A)9 B)-2
C)-1 D)8
for (i=5;i;i--) /*i非零时执行,也就是1—5,共计5个数*/
for(j=0;j<4;j++)/*j在0到3执行,也就是四次,所以总计为5*4得20次。。*/
{...}
A)20 B)25
C)24 D)30
2.以下程序的输出结果是( D )。
程序1-7:P1-7.c
main()
{
int a,b;
for(a=1,b=10;a<=100;a++) /*初始化a、b*/
{
if(b>=10) /*满足条件b,break执行,整个for循环退出,a不进行自增了,怎么没有答案了啊~~~~~囧*/
break;
if(b%3==1)
{
b+=3;
continue; /*如果执行,则本次循环结束,for循环里面的后面的内容不执行*/
}
}
printf("%d\n",a);
}
A)101 B)6
C)5 D)4
3.假定a和b为int型变量,则执行以下语句后b的值为( D )。
a=1;
b=10;
do
{
b-=a; /*赋值为9先*/
a++; /*a变为2*/
}
while (b--<0); /*执行吧,知道b的值小于0,这个是简化写法!即循环条件为b<0(懂吧?可以把这个改写成普通的while循环,那么b--在循环内的最开始部分,但是第一次它不执行),在此同时b--自减以后进入下次循环。。稍微走一下整个过程结果就出来了*/
A)9 B)-2
C)-1 D)8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1题:
外循环执行5次,到i为0时结束;每次外循环执行时内循环执行4次(j为4时循环结束)。所以为5*4=20次。
2题:
输出结果应该是1。因为for循环只执行一次,第一次循环时,b=10,即 if(b>=10) break; 执行完后退出了循环。
3题:
输出结果应为8。 循环只执行一次,进入循环前b为10,执行b-=a;后b的值为9,a变成2,到while(b--<0);时先判断b<0即9<0为假,所以循环不再执行,但判断完后b减了一个,所以b的值变成8了。
外循环执行5次,到i为0时结束;每次外循环执行时内循环执行4次(j为4时循环结束)。所以为5*4=20次。
2题:
输出结果应该是1。因为for循环只执行一次,第一次循环时,b=10,即 if(b>=10) break; 执行完后退出了循环。
3题:
输出结果应为8。 循环只执行一次,进入循环前b为10,执行b-=a;后b的值为9,a变成2,到while(b--<0);时先判断b<0即9<0为假,所以循环不再执行,但判断完后b减了一个,所以b的值变成8了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.中要了解for的用法 中间的是判断语句 第一层的时候 判断语句是 i,如果i=0就会跳出循环 也就相当于 i>0 所以第一层 循环5次 第二层好理解是 4次
所以就是20次
2.第二题 应该是 1 ,因为一进来 b就>=10了 就break了 跳出循环了
3.先进来 立马 b=9 a=2,然后 b--变成了 8 注意b--再语句结束后b才会变成8 此时是b=9 >0 条件不成立 最后退出循环 最后b=8
所以就是20次
2.第二题 应该是 1 ,因为一进来 b就>=10了 就break了 跳出循环了
3.先进来 立马 b=9 a=2,然后 b--变成了 8 注意b--再语句结束后b才会变成8 此时是b=9 >0 条件不成立 最后退出循环 最后b=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题:
for (i=5;i;i--)
//i从5开始,判断i是否为0,是0就不循环了。所以这里循环了54321,也就是5次
for(j=0;j<4;j++)
这里从0开始,到3,0123,循环了4次,结合上面,循环了20次:)
{...}
第二题:结果是1,首先for初始化,a=1,b=10,完后判断a<=100?是,执行判断语句if(b>=10)?是,执行break,跳出for循环,执行printf("%d\n",a);结果为a加回车。
第三题:a=1,b=10,执行do{b-=a;,这时b=9,继续执行a++,a变为2,判断while(b--<0)?这里为b--,先进行判断,b=9>0,所以不执行循环,再执行b--,b等于8,所以结果为8
我觉得第二题答案不正确- -,
for (i=5;i;i--)
//i从5开始,判断i是否为0,是0就不循环了。所以这里循环了54321,也就是5次
for(j=0;j<4;j++)
这里从0开始,到3,0123,循环了4次,结合上面,循环了20次:)
{...}
第二题:结果是1,首先for初始化,a=1,b=10,完后判断a<=100?是,执行判断语句if(b>=10)?是,执行break,跳出for循环,执行printf("%d\n",a);结果为a加回车。
第三题:a=1,b=10,执行do{b-=a;,这时b=9,继续执行a++,a变为2,判断while(b--<0)?这里为b--,先进行判断,b=9>0,所以不执行循环,再执行b--,b等于8,所以结果为8
我觉得第二题答案不正确- -,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询