c语言程序设计姚琳教程课后答案,C语言程序设计 第2版 习题答案 作者 姚琳 教材课后题答案 第5章.doc...

第5章 数组习题参考答案

一、单项选择题

1.以下对一维整型数组a 的正确说明是【 】。

A) int a(10);

B) int n=10,a[n];

C) int a[ ];

D) #define SINE 10

int a[SIZE];

【答案】D

2.以下对二维数组a 的正确说明是【 】。

A) int a[3][ ] ; B) float a[ ][4];

C) double a[3][4]; D) float a(3)(4);

【答案】C

3.若有定义int a[10]; 则对a数组元素的正确引用是【 】。

A) a[10] B) a(10) C) a[0] D) a[10.0]

【答案】C

【解析】四个选项中a[10] 下标越界;a(10) 不是数组元素的引用形式;a[10.0] 是错误的,因为下标不允许是实型常量。只有C正确,下标从0开始。

4.以下能对二维数组a进行正确初始化的语句是【 】。

A) int a[2][ ]={{1,0,1},{5,2,3}};B) int a[ ][3]={{1,2,3},{3,2,1}};

C) int a[2][4]={1,2,3},{4,5},{6}};D) int a[ ][ ]={1,2,3,4,5,6,7}

【答案】B

5.若有定义int s[ ][3]={1,2,3,4,5,6,7}; 则s数组第一维的大小是________ 。

A) 2 B) 3 C) 4 D) 不确定

【答案】B

6.若有定义char array[ ]="Child"; 则数组array的长度为【 】。

A) 4 B) 5 C) 6 D) 7

【答案】C

【解析】因为给array数组初始化是用字符串"Child",array数组中最后一个字符是 '\0',因此,数组长度为6。

7.以下选项中,不能正确赋值的是【 】。

A) char s1[10]; s1="China";B) char s2[ ]={'C','h','i','n','a'};

C) char s3[10]="China";D) char s3[10]={"China"};

【答案】A

【解析】因为s1 是数组名,代表数组的首地址,是常量,常量不能被赋值。

8.若有定义:char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为【 】。

A) 数组x和数组y等价 B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度

【答案】C

【解析】因为x数组初始化是用字符串"abcdefg",x数组的长度为8,y数组初始化是用7个字符,y数组的长度为7,所以,数组x的长度大于数组y的长度。

9.函数调用:strcat(strcpy(str1,str2),str3)的功能是【 】。

A) 将串str1复制到串str2中后再连接到串str3之后

B) 将串str1连接到串str2之后再复制到串str3之后

C) 将串str2复制到串str1中后再将串str3连接到串str1之后

D) 将串str2连接到串str1之后再将串str1复制到串str3中

【答案】C

10.下列程序的输出结果是___________。

#include "stdio.h"

#include "string.h"

void main( )

{ char st[20]="\"hello\"";

printf("%d\n",strlen(st));

}

A) 6 B) 7 C) 11 D) 12

【答案】B

二、填空题

1.若有以下定义:double m[20]; 则m数组元素的最小下标是______,最大下标是______。

【答案】0和19

2.在C语言中,二维数组元素在内存中的存放顺序是按_________ 存放的。

【答案】行

3.若有以下定义:int a[3][5]={{0,1,2,3,4},{3,2,1,0},{0}}; 则初始化后a[1][[2]的值是________,a[2][1]的值是_________ 。

【答案】1和0

4.若有以下定义:char s[100],d[100];int j=0,i=0; 且s 中已赋字符串,请填空以实现字符串复制。(注意:不得使用逗号表达式)

while (s[i]) { d[j]= _________ ;j++;}

d[j]=0;

【答案】s[i++]

5.下列程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值