数组复习题.doc

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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'};

相关文档
最新文档