学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(10

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

2007年09月04日    来源:   字体:   打印

  3.3 程序分析题

  1.阅读程序,写出运行结果。

  main()

  { int a=10, b=4,C=3;

  if(a<b)a=b;

  if(a<C) a=C;

  printf(“%d,%d,%d\n”, a,b,c);

  }

  「解」程序中,第一个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.

关闭