重庆自考网 > 复习指导 > 2015年自考“高级语言程序设计”习题答案详解(10)
2014
10-30

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

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

}
「解」程序中,第一个if语句if(a B)A=B,当A B时,让B值置A,该语句确保A的值不比B小。同样第二个IF语句IF(A<C)A=C,当A<C时,让C值置A,使A的值不比C小。实际;情况是A本来就比B和C都大,所以A的值没有变,程序输出A、B和 C的原来值:10,4,3.
2.阅读下列程序,写出程序的输出结果。
main()
{ int x=100, a=10, b=20, Ok1=5,Ok2=0;
if(a<b)if(b!=15)if(!Ok1) x=1;
else if(ok2) x=10;
else x=-l;
printf(“%d\n”,x);
}
「解」程序预置变量x的值为100,a的值为10,b的值为20,ok1为5,Ok2为0.
程序中给出的if语句可以写成更结构化的形式如下:
if(a<b) {
if(b!=15){
if(!Ok1) x=1;
else{
if(Ok2) x=10;
else x=-l;

}
}
由于条件a<b成立,并且条件b!=15也成立,而ok1不等于0,执行else后的语句。又因ok2等于0,执行else后的语句赋-1给x.所以程序输出一l.
3.阅读下列程序,写出程序的输出结果。
main()
{ int y=9;
for(; y>0; y——)
if(y%3==0){ printf(“%d”,——y);continue;}

「解」循环前,变量y的值为9,其中的循环语句在y大于0情况下循环,每次循环后y的值减1.循环体是当y能被3整除时输出表达式——y,输出的是减1后的y值。这样,第一次循环因y为9,能被3整除,输出8,y也变成8.又经两次循环,y的值变为6,又让y减1变成5,并输出5;又经两次循环,y的值变成3,让y减至变成2,输出2;再经两次循环后,y的值变成0,结束循环。所以程序输出852.

最后编辑:
作者:重庆自考网