当前位置: 首页 > 自学考试 > 自学考试模拟试题 > 2013自考“高级语言程序设计”习题答案详解(9)

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

更新时间:2012-11-27 09:33:40 来源:|0 浏览0收藏0

自学考试报名、考试、查分时间 免费短信提醒

地区

获取验证 立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

  3.2 填充题

  1.结构化程序设计规定的三种基本结构是________结构,选择结构和_______结构。

  「解」结构化程序设计的三种基本控制结构是顺序结构、选择结构和循环结构。

  2.若有定义“int a=25,b=14, c=19;”,以下语句的执行结果是______.

  if a++<=25&&b――<=2&&c++)

  prinif(“***a=%d,b=%d,c=%d\n”, a,b,c);

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

  「解」问题所给的if语句中,条件a++<=25&&b――<=2&&c++是先求逻辑与的第一个运算分量,它是一个关系式,关系成立。接着判定第二个逻辑与运算分量,又是一个关系式,由于变量b的值是14,b不小于等于2,运算分量的关系式不成立,导致if语句的条件为假,执行else部分。在求且语句的条件时,计算了2个逻辑与分量,使变量a的值增了1,变量 b的值被减了1.所以输出内容是:###a=26,b=13,c=19.

  3.以下两条if语句可合并成一条if语句为_____________.

  if(a<=b) x=1;

  else y=2;

  if(a>b)printf(“****y=%d\n” ,y);

  else printf( “####x=%d\n” ,x);

  「解」在以上两条if语句中,两个条件刚巧相反。若将前一个if语句的第一个成分语句与第二个if语句的第二个成分语句合并;第一个if语句的第二个成分语句与第二个if语句的第一个成分语句合并,写成一条if语句如下:

  if(a<=b){x=1;printf(“####x=%d\d,x);}

  else{ y=2; printf(“****y=%d\n”,y);}

  4.设 i,j,k均为 int型变量,则执行完下面的for语句后,k的值为_______.

  for(i=0,j=10;i<=j;i++,j――)k=i+j;

  「解」该 for语句以i为0、j为10初始化,循环条件是 i<=j,每次循环后 i增 1、j减 1,循环体是将 i与j的和赋给 k.这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 l.j为 9,二次循环后 i为 2.j为 8,……,五次循环后 i为 5.j为 5,继续第六次循环,将 i与 j的和10存于 k后,i为 6、j为 4,结束循环。所以循环执行后 k为10.

  5.下列程序的功能是输入一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空。

  main()

  {int i,X,y=1;

  scanf(“%d”,&x);

  for(i=2;i<=x/2;i++)

  if________________ { y=0; break; }

  printf(“%d\n”,y);

  }

  「解」为判数x是否是素数,预置变量y的值为1(x可能是素数),然后用循环,用2至x/2的整数i测试对X的整除性,若能被其中的某个整数整除,则X是合数,置y的值为0(不是素数),结束测试循环。若都不能整除,则X为素数。i能否整除X,可用求余运算X%i等于0来判定。所以程序中的空框可填 X% i==0.测试 X为素数的代码可写成:

  y=l;

  for( i=2; i<=x/2; i++)

  if(x%i==0){ y=0; bleak; }

?2013年高教自考网络辅导课程招生简章

?2013年1月自考报名 

更多信息请访问:自学考试频道    自学考试论坛

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习

自学考试资格查询

自学考试历年真题下载 更多

自学考试每日一练 打卡日历

0
累计打卡
0
打卡人数
去打卡

预计用时3分钟

自学考试各地入口
环球网校移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载

返回顶部