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

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

更新时间:2012-12-05 10:00:13 来源:|0 浏览0收藏0

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

地区

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
获取验证 立即预约

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

看不清楚,换张图片

免费获取短信验证码

  3.阅读下列程序,写出程序运行的输出结果。

  char s[]=“ABCD”;

  main()

  { char * p;

  for( p=s;p< s+4;p++) printf(“%s\n”, p);

  }

  「解]程序定义了一个字符数组s,由给它所赋的字符串初值知,该数组只有五个元素。程序另定义了字符指针变量p.循环开始时,先让p指向数组的首元素。循环每次输出以p所指字符为首字符的字符串,并让它指向下一个字符。如此反复循环四次,所以程序输出以下内容:

  ABCD

  BCD

  CD

  D

  4.阅读下列程序,试写出程序运行的结果。

  main()

  {int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;

  b=C=1;p_b=p_C= a;

  for(i=0;i<6; i++)

  { if(b<*(a+i)) {b=*(a+i); p_b=&a; }

  if(c>*(a+i)) {c=*(a+i); p_c=&a; }

  }

  i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;

  printf(“%d,%d,%d,%d,%d,%d\n”, a[O],a[1],a[2],a[3], a[4], a[5]);

  }

  「解]程序定义了一个整型数组。,由给它所赋的初值知,该数组有六个元素。程序另定义了三个整型变量i.b、C和两个指针变量p_b.p_c.程序首先置变量b和C都为1,p_b和p_c都指向数组a 的首元素a[0].接着执行六次循环,循环体由两个if语句。第一个if语句是当 b的值小于*(a+i)(就是a)时,将*(a+i)的值复制到b,并让p_b指向a.这是在a中找最大值,将最大值存于b,最大值元素的指针存于指针变量p_b.第二个if语句是当c的值大于*(a+i)(就是a)时,将*(a+i) 的值复制到c,并让p_c指向a.这是在a中找最小值,将最小值存于c,最小值元素的指针存于指针变量p_c.循环结束后的前三个语句实现最大元素与a[0]交换。接着三个语句是在已经过前面交换的基础上,将最小元与a[5]交换。最后程序顺序输出数组a的六个元素。所以程序输出内容是:

  13, 10,-3, l, 7,-21.

  若数组a的初值由输入任意指定,上述程序对一种特殊情况不能完成功能的要求,即最小元素若是a[0],p_c所指元素已被移到p_b指针所指位置,实际与a[5]交换的不再是数组中的最小元素,而是最大元素。

  5.4 程序设计题

  1.输人3个整数,按从大到小顺序输出。

  「解」存储输入的三个整数可用三个简单变量,也可用数组。设用三个简单变量x,y,z存储输入的三个整数。另设若干个指针变量指向存储输入数据的变量。实现从大到小输出三个整数有多种方案,如通过比较交换变量的值,多次比较交换使变量满足条件x>=y>=z.这样,变量的输入值可能会与它的输出值不一样。如通过比较交换指针变量,当比较后发现要交换时,就交换变量的指针,而不交换变量的值,则在比较结束后,变量的值没有改变,但从指针方向来看,它们的值是从大到小排列的。下面的程序就采用这种方案。

  # include

  main()

  { int x,y,z;

  int *big=&x,*mid=&y,*sma=&z,/*置三个指针变量分别指向x,y, z*/

  *temp;

  printf(“Enter x,y,z.\n”);

  scanf(“%d%d%d”, big,mid,sma);/*顺序为变量x,y,z输入值*/

  if(*big< *mid) {temp=big;big=mid; mid=temp; }

  /*使*big>=*mid*/

  if(*big<*sma) { temp=big;big=sma;sma=temp; }/*使*big>=*sma*/

  if(*mid<*sma){temp=mid;mid=sma;sma=temp; }/*使*mid>=*sma*/

  printf(“%d\t%d\t%d\n”, x,y,z);/*按输入顺序输出x,y,z*/

  printf(“%d\t%d\t%d\n”,*big,*mid,*sma);/*按从大到小的顺序输出*/

  }

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

?2013年1月自考报名 

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

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习
今日直播 更多
峰会

上班族如何提升自己的学历?

自学考试 自考入门导学

09月25日 11:00-12:20

王涛

峰会

别让学历成为你的"绊脚石"

自学考试 自考入门导学

10月09日 11:00-13:00

王涛

峰会

学历提升形式严峻,务必尽快报考

自学考试 自考入门导学

今日11:00-12:10

王涛

峰会

学历,开启别样人生

自学考试 自考入门导学

11月11日 11:00-12:10

王涛

更多直播
  • 2020年10月《高等数学(一)00020》全国卷

    难度: 3人已做 做题
  • 2020年8月《高等数学(一)00020》全国卷

    难度: 0人已做 做题
  • 2019年10月《高等数学(一)00020》全国卷

    难度: 1人已做 做题
  • 2019年4月《高等数学(一)00020》全国卷

    难度: 0人已做 做题
更多真题

自学考试资格查询

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

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

预计用时3分钟

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

安卓版

下载

iPhone版

下载

课程咨询

售后服务

APP立减150

注册APP

购课满减券免费领

出版物经营许可证|京B2-20210770| 京公网安备 11010802033350号|京ICP备16038139号|节目制作经营许可证(京)字20130号
知春路校区:北京市海淀区知春路7号致真大厦D座4层北区(地铁10号线西土城出A口)|邮编:100191
版权所有 2003-2025 北京环球创智软件有限公司|联系客服|营业执照

预约成功
您已经成功预约 考试短信提醒
扫码添加客服微信号
添加客服微信号,邀您进群领取学习资料、直播课程等,还能和其他小伙伴一起学习交流。添加时请回复领取

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

在线咨询