数组复习题.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组复习题
1. 单项选择题
(1) int a[4]={5,3,8,9};其中a[3]的值为( D )。
A. 5
B. 3
C. 8
D. 9
(2) 以下4 个字符串函数中,( A )所在的头文件与其他3 个不同。
A. gets
B. strcpy
C. strlen
D. strcmp
(3) 以下4 个数组定义中,( D )是错误的。
A. int a[7];
B. #define N 5 long b[N];
C. char c[5];
D. int n,d[n];
(4) 对字符数组进行初始化,( B )形式是错误。
A. char c1[ ]={'1', '2', '3'};
B. char c2[ ]=123;
C. char c3[ ]={ '1', '2', '3', '\0'};
D. char c4[ ]="123";
(5) 在数组中,数组名表示( C )。
A. 数组第1 个元素的首地址
B.数组第2 个元素的首地址
C. 数组所有元素的首地址
D.数组最后1 个元素的首地址
(6) 若有以下数组说明,则数值最小的和最大的元素下标分别是(B )。
int 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
(7) 若有以下说明,则数值为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. 6
B. 7
C. 11
D. 12
(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( D )说明:sizeof是一个运算符,求变量或类型的长度
A. 6
B. 7
C. 11
D. 12
(10) 合法的数组定义是( 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}
(11) 合法的数组定义是( 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) 下列语句中,正确的是( D )。
A. char a[3][ ]={'abc', '1'};
B. char a[ ][3] ={'abc', '1'};
C. char a[3][ ]={'a', "1"};
D. char a[ ][3] ={ "a", "1"};
(13) 下列定义的字符数组中,输出printf("%s\n", str[2]) ;的输出是( C )。static str[3][20] ={ "basic", "foxpro", "windows"};
A. basic
B. foxpro
C. windows
D. 输出语句出错
(14) 下列各语句定义了数组,其中哪一个是不正确的(C )。
A. char a[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]
(16) 下面的程序中哪一行有错误( D)。
#include
main()
{
float array[5]={0.0}; //第A行
int i;
for(i=0;i<5;i++)
scanf("%f",&array[i]);
for(i=1;i<5;i++)
array[0]=array[0]+array[i];//第B行
printf("%f\n",array[0]); //第C行
}
A. 第A行
B. 第B行
C. 第C行
D. 没有
(17) 下面哪一项是不正确的字符串赋值或赋初值的方式( C )。
A. char *str; str="string";
B. char str[7]={'s','t','r','i','n','g'};