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

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

更新时间:2012-12-05 09:56:14 来源:|0 浏览0收藏0

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

地区

获取验证 立即预约

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

看不清楚,换张图片

免费获取短信验证码

  7.设有以下定义和语句,则*(*(p+2)+l)的值为__________.

  int a[3][2]={10,20,30,40,50,60},(*p)[2];

  p= a;

  「解」上述代码定义3行2列的二维数组a ,定义指向两个元素的一维数组指针p,并让p指向二维数组a的首行。则代码*(*(p+2)+l)中的p+2指向二维数组a的第2行a[2],*(p+2)指向a[2][o],*(p+2)+l指向a[2][l],*(*(p+2)+l)是引用a[2][l],其值是60.

  8.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。

  # include

  # include

  main()

  { char str[81],*sptr;

  int i;

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

  { str=getchar();if(str==‘\n’) break;}

  str=____________;

  sptr=str;

  while(* sptr) putchar(* sptr______________);

  }

  「解」从键盘输入字符行,通过循环逐一输入字符,当发现输入字符是换行符时,结束循环。为了使输入的字符列变成字符串,必须在输入字符列之后,原存储换行符的元素改为存储字符串的结束标记符,需用代码 str=‘\0’ ,所以在第一框填入代码‘\0’。当要将存于字符数组str中的字符串通过循环逐一输出字符串的字符时,可以用字符指针sptr,让sptr遍历整个字符串,每次循环时,输出sptr所指字符,并让sptr增1,即可用代码*sptr++实现,所以在第二框填入代码++.

  5.3 程序分析题

  1.阅读下列程序,写出程序的输出结果。

  main()

  {char *a[6]={“AB”,“CD”,“EF”,“GH”,U“,”KL“};

  int i;

  for(i=0;i<4;i++) printf(“%s”, a);

  printf(“\n”);

  }

  「解」程序定义了有六个元素的字符指针数组a ,数组a 的各元素指向字符率常量。

  程序的for循环遍历了a的前四个元素,用字符率输出格式,输出指针数组a前四个元素所指的字符串。所以程序输出: ABCDEFGH.

  2.阅读下列程序,写出程序的主要功能。

  main()

  { int i,a[l0],*p=&a[9] ;

  for(i=0;i<10;i++) scanf(“%d”,&d);

  for(; p>=a; p――) printf(“%d\n”,*p) ;

  }

  「解」程序定义了有10个元素的整型数组a,另定义指针变量p,并让它指向a的最后一个元素a[9].执行代码的第一个循环是顺序输人数组a的10个元素。第二个循环利用指针p逆序遍历数组a,将数组a的各元素逆序输出。所以程序的功能是输入10个整数,并逆序输出这10个整数。

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

?2013年1月自考报名 

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

分享到: 编辑:环球网校

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

自学考试资格查询

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

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

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

预计用时3分钟

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

安卓版

下载

iPhone版

下载

返回顶部