第 7章 数组习题
A 卷
1.
单项选择题
(1) int a[4]={5,3,8,9};
其中
a[3]
的值为 (D )
。
DA.5B.3C.8D.9
以下 4 个字符串函数中, ( A) 所在的头文件与其他 3 个不同。
A. gets B. strcpy C. strlen D. strcmp
以下 4 个数组定义中, ( D) 是错误的。 D
A. int a[7]; B. #define N 5 long b[N];
C. char c[5]; D. int n,d[n];
对字符数组进行初始化, (B ) 形式是错误。
A. char c1[ ]={'1','2','3'};
B. char c2[ ]=123;
C. char c3[ ]={
'1',
'2',
'3',
'\0'}; D. char c4[ ]="123";
在数组中,数组名表示 (A ) 。
A. 数组第 1 个元素的首地址B. 数组第 2 个元素的首地址
C. 数组所有元素的首地址D. 数组最后 1个元素的首地址
若有以下数组说明,则数值最小的和最大的元素下标分别是 (B ) Bint a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};
A. 1,12 B. 0,11 C. 1,11 D. 0,12
若有以下说明,则数值为 4 的表达式是 (D ) 。
int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};
char c= ’a’, d, g ;
A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c]
(8)设有定义 :char s[12] = "string" ;
则 printf( "%d\n",strlen(s));的输出是 ( A) 。
A.6B.7C.11D.12
(9)设有定义: char s[12] = "string";
则 printf("%d\n ", sizeof(s));
的输出是
( B)
。
A.6B.7C.11D.12
合法的数组定义是 ( A) 。
A. char 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}
合法的数组定义是 (D ) 。
A. int a[3][ ]={0,1,2,3,4,5}; B. int a[ ][3] ={0,1,2,3,4};
C. int a[2][3]={0,1,2,3,4,5,6}; D. int a[2][3]={0,1,2,3,4,5};
(12)下列定义的字符数组中,输出printf("%s\n", str[2]) ;
的输出是
(C )
。
static str[3][20] ={ "basic", "foxpro", "windows"};
A. basic B. foxpro C. windows D.
输出语句出错
下列各语句定义了数组,其中哪一个是不正确的 ( C) 。
A.chara[3][10]={"China","American","Asia"};
B.int
x[2][2]={1,2,3,4};
C.
float x[2][ ]={1,2,4,6,8,10}; D. int m[][3]={1,2,3,4,5,6};
(15)数组定义为 int a[3][2]={1,2,3,4,5,6}
,值为
6 的数组元素是
(B )
。
A. a[3][2] B. a[2][1] C. a[1][2] D. a[2][3]
下面的程序中哪 一行有错误 (A ) 。
#include main()
{ float array[5]={};第 A 行 B.第 B 行 C.第 C 行 D.没有
下面哪一项是不正确的字符串赋值或赋初值的方式 (A ) 。
A. char *str; str="string";
B. char str[7]={'s','t','r','i','n','g'};
C. char str1[10];str1="string";
D. char str1[]="string",str2[]="";
若有以下说明和语句,则输出结果是哪一项 (D ) 。
(strlen(s)为求字符串 s 的长度的函数 )
char s[12]="a book!"; printf("%d",strlen(s));
A.12B.8C.7D.11
若有以下