21. 定义数组:int x[2][3]; 则数组x 的维数是( 2 ). A) 1 B) 2 C) 3 D) 6
22. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( C )? A) 表达式b[1][2]的值为1 B) 表达式b[1][2]的值为4 C) 表达式b[1][2]的值为6 D) 表达式b[1][2]的值为2
23. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}}; for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(\语句的结果是哪一个( C )?
A) 1,2,3,4,5,6 B) 1 2 3 4 5 6 C) 123456
24. 若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( B )?
A) a数组中有6个元素
B) a[2][3]是a数组的最后一个元素的引用 C) a数组中每个元素都为整数 D) a数组是整型数组
25. 定义如下变量和数组: int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( C ).
for(i=0;i<3;i++) printf(\A) 1 5 9 B) 1 4 7 C) 3 5 7
26. 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是( C ).
A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2]
5
D) 3 6 9
27. 以下程序的输出结果是( A ). main()
{int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(\}
A) 18 B) 19 C) 20 D) 21
28. 若已有char b[10][50];则该二维字符数组在内存所占字节数为( D ). A) 10 B)50 C)60 D)500
29. 设有:char a[10]; 下列语句那个是正确的( D )? A) scanf(\B) scanf(\
C) printf(\
D) printf(\
30. 阅读程序: main() { char a[10]; int i;
for(i=1;i<=5;i++) scanf(\
printf(\
}
设从键盘输入字符串:abcde,则程序的输出结果是( C ). A) a B)空格 C)不确定 D)0
31. 合法的数组定义是( D ). A) int a[ ] = \B) int a[5]={0,1,2,3,4,5}; C) char a= \
D) char a[ ]={'0','1','2','3'};
6
32. 设有数组定义:char string[ ]=\;则数组string所占的空间为( B ). A) 5个字节 B) 6个字节 C) 7个字节 D) 10个字节
33. 定义字符数组c:char c[ ]={\;数组c在内存中所占字节数是( C ). A) 9 B) 10 C) 11 D) 12
34. 指出以下错误语句( C ).
A) char a[10]={'0','1','2','3','4','5','6','7','8','9'}; B) char a[10]={'0','1 ','2','3'}; C) char a[2]= {\D) char a[2]= {'a’,'b’};
35. 若定义数组并初始化char a[10]={\该数组的元素个数是( A ). A) 10 B) 5 C) 6 D) 7
36. 若定义数组并初始化char a[10]={\该数组的元素中 a[2]是( A ). A) 'L' B) 'E' C) 'H' D) 'O'
37. 若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( A C D)? A)b[8]的值为0 B)b[1]的值为1 C)b[3]的值为整数
D)b[10]不是b数组中的元素
38. 若定义数组int a[10];指出下列错误语句:ABCD
7
A) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10]; B) a数组是整型数组,其元素自动初始化为0; C) a数组最后一个元素的引用方法是a[10]; D) a数组第一个元素的引用方法是a[1];
二、判断题
1.数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。 错 2.数组是C语言的一种构造数据类型,其元素的类型可以是整型、实型、字符型甚至结构类型。 对
3.设需定义一个有15个元素的数组a,并对其前5个元素赋初值,可用如下语句实现:int a[]={1,2,3,4,5}; 错
4.数组定义时,只允许使用常量表达式定义数组的大小,其值必须是正整数,而不能用变量来定义数组长度。 对
5.C语言数组的下标从0开始,下标必须是整数型的常量或变量。对
6.数组是数目固定、类型相同的若干变量的有序集合。数组中的每一个数(变量)称为数组元素,数组中的所有元素都属于同一种数据类型。对 7.数组元素下标的下界是固定的,总是为0。对
8.一维数组在引用时下标的范围是:0 <= 下标 < 数组的长度 。对
9.若有数组定义为:int a[100];则该数组的下界为0,上界为100。数组元素下标范围是: 下界 <= 下标 < 上界。对
10.设已定义:double a[5][5]; 则数组a在内存中的存放顺序是:a[0][0],a[0][1],a[0][2], ... ,a[4][3],a[4][4] 。 对
二.填空题
1.在C语言中,二维数组的元素在内存中的存放顺序是 按行的顺序依次存放 。 2.若有定义:double x[3][5],则x数组中行下标的下限为 0 ,列下标的下限为 0 。 3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为 0 ,a[2][1]得到的值为 6 。 4.字符串”ab\\n\\\\012\\\\”的长度是 8 。 5.下面程序段的运行结果是 he 。 char x[ ]=”the teacher”; int i=0;
while (x[++i]!=?\\0?)
if (x[i-1]==?t?) printf(“%c”,x[i]);
6.欲为字符串S1输入”Hello World!”,其语句是 scanf(“%s”,S1); 。
8
相关推荐: