自考“高级语言程序设计”习题答案详解(8)_工学-查字典自考网
 
请输入您要查询的关键词
  查字典自考网 >> 工学 >> 自考“高级语言程序设计”习题答案详解(8)

自考“高级语言程序设计”习题答案详解(8)

发布时间: 2016-06-29 来源:查字典自考网

13.设x和y为int型变量,则执行下面的循环后,y的值为( )

for(y=l, x=l; y<=50; y++){

if(x>=10) break;

if(x%2==1){ x+=5; continue;}

X -= 3;

}

①2 ②4 ③6 ④8

「解」 for循环语句的初始化部分置变量x和y的初值为1,循环条件是(y<=50),每次循环后变量y的值增1,控制循环最多执行50次。循环体有三个语句:首先在发现变量X的值大于等于10时,结束循环;接着是当变量X除2的余数为1(即变量X是奇数)时,让变量X值增5,让X变成偶数,并直接进入下一轮循环;如变量X是偶数,则从变量X减去3,让变量X变成奇数。由上述分析知,每两次循环使变量X的值增加2.第一次循环后,变量X的值变成6.第二次循环后,变量X的值变成3.第三次循环后,变量X的位变成8.第四次循环后,变量X的值变成5.第五次循环后,变量X的值变成 10.第六次循环时,因变量X的位大于等于 10,直接跳出循环,这次循环是非正常结束,对变量y的修正只执行了5次。所以循环结束后,变量y的值增至6.正确的解答是③。

14.在C语言中,下列说法中正确的是( )

①不能使用“do语句while(条件)”的循环

②“do语句While(条件)”的循环中必须使用“break”语句退出循环

③“do语句while(条件)”的循环中,当条件非0时将结束循环

④“do语句while(条件)”的循环中,当条件为0时将结束循环

「解」 do-while语句的一般形式是:

do语句

while(表达式);

其语义是重复执行其成分语句,直至表示条件的表达式值为0时结束。do-while语句是正常使用的一种循环结构之一。do-while语句的循环结束条件由while后的表达式值为0所控制,并不一定要有break语句跳出循环来结束循环。do-while语句在条件值非0时,将继续循环,而不是结束循环。条件值为0时,才结束循环。所以正确的选择是④。

15.若有以下程序段,W和k都是整型变量,则不能与该程序段等价的循环语句是( )

W= k;

LB: if(w==0) gotO LE;

w - -;

printf(“*”);

goto LB;

LE:

①for(w=k;w!=0;W——)printf(“*”);

② w= k;

While(W——!=0) Prinif(“* ”);

③ w= k;

do{w——; prinif(“*”);

} while( W!= 0);

④ for(w=k;W;——W) printf(“*”);

「解」问题所给出的程序段用goto语句构造一个循环控制结构,该循环结构的初值是让变量W的值为k的值,循环结束条件是W的情等于0,循环体是让变量W的值减1,并输出一个字符* .上述循环控制过程用for循环可描述如下:

for=(w=k;W!=0; W——) printh(“*”);

或写成:

for(w=k ;w;——w) printf(“*”);

若用while语句,可描述如下:

W=k;

while(w——!=0)printf(“*”);

w++;/*在w等于0时,也执行了一次 w——,这里是对w最后减1的补尝*/

或更直观地写成:

W=k;

while(w!=0){ w——;Printf(“*”);}

若用do-while语句,可描述如下:

W=k;

if(W)

do{

w——; prinif(“*”);

} while(w);

若写成:

W=k;

do{

W——; printf(“*”);

} while(w!=0);

是不正确的,因为原代码当k的值为0时,不输出字符*,而上面的改写,当k的值为0时,将输出许许多多的字符*.所以解答应是③。

点击显示
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读

当前热点关注

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • [相关地区]