国家工信部网站备案实名:湖北自考网 为考生提供湖北自考信息服务,仅供学习交流使用,官方信息以湖北教育考试院为准。

湖北自考网

网站首页 自考专业 自考培训 考场查询 成绩查询 网上报名 考生平台
专题:
自考报名时间 考试时间 自考单科网课 模拟考试 教材大纲 免考办理 转考办理 实践考核 毕业申请 学位英语培训 学位申请 专升本 成人高考 中专
湖北自考在线 湖北学位英语培训班 湖北成人高考报名 湖北自考视频免费领取
当前位置:湖北自考网 > 自考“高级语言程序设计”习题答案详解(29) -自考串讲笔记

自考“高级语言程序设计”习题答案详解(29) -自考串讲笔记

湖北自考网 来源: 时间:2008-11-08 15:43:18

  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);/*按从大到小的顺序输出*/

  }

结束
本文标签
特别声明:1.凡本网注明稿件来源为“湖北自考网”的,转载必须注明“稿件来源:湖北自考网(www.hbzkw.com)”,违者将依法追究责任;
2.部分稿件来源于网络,如有不实或侵权,请联系我们沟通解决。最新官方信息请以湖北省教育考试院及各教育官网为准!
限时,免费获取学历提升方案

已帮助10w万+意向学历提升用户成功上岸

  • 毛泽东思想概论

    毛泽东思想概论

    培训优势:课时考点精讲+刷题+冲刺,熟练应对考试题型。全程督促学习,安排好学习计划。 毛泽东思想概论...自考培训
  • 英语二

    英语二

    本课程既是一门语言实践课程,也是拓宽知识、了解世界文化的重要素质课程,它以培养学习者的综合语言应用能力为目标,使他们在学习、工作和社会交往中能够使用英语进行有效的交流。 英语二...自考培训
  • 马克思主义基本原理概论

    马克思主义基本原理概论

    本书包括两个部分:自学考试大纲和基本原理。主要内容有,马克思主义是关于工人阶级和人类解放的科学,物质世界及其发展规律,认识的本质及其规律,人类社会及其发展规律,资本主义的形成及其发展,资本主义发展的历史进程,社会主义社会及其进程,共产主义社会及其进程等。 马克思主义基本原理概论...自考培训
  • 思想道德修养与法律基础

    思想道德修养与法律基础

    《思想道德修养与法律基础》课具有鲜明的政治性、思想性、理论性、针对性、科学性、知识性以及实践性和修养性。它包罗政治、思想、道德、心理本质、学习成才和法律本质等内容,指导和回答大学生在人生、抱负、信念等方面遍及关心和迫切需要解决的问题。 思想道德修养与法律基础...自考培训
  • 中国近代史纲要

    中国近代史纲要

    “中国近现代史纲要”全国高等教育自学考试指定教材,依据中央审定的普通高等学校“中国近现代史纲要”编写大纲以及马克思主义理论研究和建设工程重点教材《中国近现代史纲要》,结合自学考试的特点设计了十章,集中讲述1840年鸦片战争爆发一直到2007年中国共产党第十七次全国代表大会召开的160多年的中国近现代历史。 中国近代史纲要...自考培训
微信公众号 考试交流群
湖北自考网微信公众号

扫一扫关注微信公众号

随时获取湖北省自考政策、通知、公告以及各类学习资料、学习方法、课程。