早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 职业资格考试 -->其它 -->

请教:2012年3月全国计算机等级《二级C语言》考前预测试卷(2)第3大题第2小题如何解答?

题目

【题目描述】

下面程序的输出结果是_________。

【我提交的答案】:22

【参考答案分析】:32【解析】while(表达式)的功能是:首先计算表达式的值,若为真,则执行循环体语句,执行完毕,再计算表达式的值,若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i。i=10,执行i =11;a -7后,得i=21,a=32,不满足i<20,循环结束。

【我的疑问】(如下,请求专家帮助解答)

 

参考答案

输出结果:32 函数注释: void main() { int i=0,a=0; //定义i为0,a为0 while(i<20) //循环1,在i<20时循环 {for(;;) //循环2 if((i%10)==0)break; //如果i余10为0,即i是10的倍数时结束循环2,即i不变 else i--; //否则i自减,即如果i不是10的倍数,i自减 //循环2为以上3行,功能是判断i是否是10的倍数,是i的值不变,不是则i自减 i+=11; //i=i+11 a+=i; //a=a+i } printf("%d",a); //整数形式输出a } 分析: 初值i=0,a=0,i<20满足循环1条件,且是10的倍数,i不变,循环后i=11,a=11 i=11满足循环1条件,且i不是10的倍数,则i自减,i=10+11=21,a=11+21=32 i=21不满足循环1条件,循环结束,则a=32

 

看了请教:2012年3月全国计算机...的网友还看了以下: