自考“高级语言程序设计”习题答案详解(28)_工学-查字典自考网
 
请输入您要查询的关键词
  查字典自考网 >> 工学 >> 自考“高级语言程序设计”习题答案详解(28)

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

发布时间: 2016-06-29 来源:查字典自考网

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=‘’ ,所以在第一框填入代码‘’。当要将存于字符数组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(“%dn”,*p) ;

}

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

点击显示
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读

当前热点关注

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • [相关地区]