第4章 数组练习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章数组练习题
一、选择题
1.在c语言中,引用数组元素时,其数组下标的数据类型允许是()。
A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式
2.要说明一个有10个int元素的数组,应当选择语句()。
A) int a[10]; B) int a(10); C) int a[9] D) int a[11]
3.对以下说明语句的正确理解是()。
int a[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
4.已知:int a[10];则对a数组元素的正确引用是()。
A) a[10] B) a[3.5] C) a(5) D) a[10-10]
5.以下对一维整型数组a的正确说明是()。
A) int a(10); B)int n=10,a[n];
C) int n; D)#define SIZE 10;
scanf("%",&n); int a[SIZE];
int a[n];
6.要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,不正确的定义
语句是()。
A) int art[5]={89,-23};
B) int art[ ]={89,-23};
C) int art[5]={89,-23,0,0,0};
D) int art[ ]={89,-23,0,0,0};
7.在C语言中,二维数组元素在内存中的存放顺序是()。
A)按行存放 B)按列存放 C)由用户自己定义 D)由编译器决定
8.以下对二维数组a的正确说明是()。
A)int a[3][] B) float a(3,4) C) double a[1][4] D) float a(3)(4) 9.已知:int a[3][4];则对数组元素引用正确的是()。
A)a[2][4] B)a[1,3] C) a[2][0] D) a(2)(1) 10.已知:int a[3][4]={0};则下面正确的叙述是()。
A)只有元素a[0][0]可得到初值0
B)此说明语句是错误的
C)数组a中的每个元素都可得到初值,但其值不一定为0
D)数组a中的每个元素均可得到初值0
11.以下各组选项中,均能正确说明二维实型数组a的是()。
A) float a[3][4]; B) float a(3,4);
float a[][4]; float a[3][4];
float a[3][]={{1},{0}}; float a[][]={{0},{0}};
C) f loat a[3][4]; D) float a[3][4];
float a[][4]={{0},{0}}; float a[3][];
float a[][4]={{0},{0},{0}}; float a[][4];
12.已知:int a[][3]={1,2,3,4,5,6,7};则数组a的第一维的大小是()。
A)2 B)3 C)4 D)无确定值
13.若二维数组a有m列,则在a[i][j]之前的元素个数为()。
A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1
14.要使字符数组str存放一个字符串"ABCDEFGH",正确的定义语句是()。
A) char str[8]={'A','B','C','D','E','F','G','H'};
B) char str[8]="ABCDEFGH";
C) char str[ ]={'A','B','C','D','E','F','G','H'};
D) char str[ ]="ABCDEFGH";
15.下面是对数组s的初始化,其中错误的是()。
A) char s[5]={"abc"} B) char s[5]={'a','b','c'};
C) char s[5]=""; D) char s[5]="abcde";
16.对两个数组a和b进行如下初始化
char a[]="ABCDEF";
char b[]={'A','B','C','D','E','F'};
则以下叙述正确的是()。
A) a与b数组完全相同 B) a与b长度相同
C) a和b中都存放字符串 D) a数组比b数组长度长
17.下面程序的运行结果是()。
char c[5]={'a','b','\0','c','\0'};
printf("%s",c);
A) 'a''b' B) ab C) ab c D) 以上三个答案均有错误
18.下面程序段运行的结果是()。
char s[]="a book!";
printf("%.4s",s);
A) a book! B) a bo
C) a boo D) 格式描述不正确,没有确定的输出
19.合法的数组定义是()。
A) int a[]="string"; B) int a[5]={0,1,2,3,4,5};
C) char a="string"; D) char a[]={'0','1','2','3','4','5'};
20.要使字符串数组STR含有"ABCD","EFG"和"xy"三个字符串,不正确的定义语句有()。
A)char STR[ ][4]={"ABCD","EFG","XY"};
B)char STR[ ][5]= {"ABCD","EFG","XY"};
C)char STR[ ][6]= {"ABCD","EFG","XY"};
D)char STR[ ][7]={{'A','B','C','D','\0'},"EFG","XY"};
21.有两个字符数组a、b,则以下正确的输入格式是()。
A) gets (a,b); B) scanf ("%s%s",a,b);
C) scanf ("%s%s",&a,&b); D) gets ("a"), gets ("b");
22.判断字符串a和b是否相等,应当使用()。
A) if (a==b) B) if (a=b)
C) if (strcpy(a,b)) D) if (strcmp(a,b))
23.下述对C语言字符数组的描述中错误的是()。
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
24.运行下面程序段的输出结果是()。
char s[12]="string";
printf("%d",strlen(s));
A) 12 B) 7 C) 6 D) 5
25.函数调用strcat ( strcpy ( str1,str2 ), str3 )的功能是()。
A)将字符串str1复制到字符串str2中,再连接到字符串str3之后
B)将字符串str1连接到字符串str2之后,再复制到字符串str3之后
C)将字符串str2复制到字符串str1中,再将字符串str3连接到字符串str1之后
D)将字符串str2连接到字符串str1之后,再将字符串str1复制到字符串str3之中
26.有下面的程序段
char a[3],b[]="china";