设已定义:float a[15]; 则数组a可引用的元素有().

A) a[1]~a[15]

B) a[0]~a[15]

C) a[1]~a[14]

D) a[0]~a[14]

以下程序段给数组所有元素输入数据:

main()

{int a[10],i=0;

while(i<10) scanf("%d",());

... ...

}

应在园括号中填入的是:

A) a+(i++)

B) &a[i+1]

C) a+i

D) &a[++i]

若有以下定义:double w[100]; 则数组w的元素下标范围是().

A) [0,100]

B) [0,99]

C) [1,100]

D) [1,99]

若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10};char c='a'; 则数值为4的表达式是().

A) a['f'-c]

B) a[4]

C) a['d'-'c']

D) a['d'-c]

已知int类型变量在内存中占用2个字节,定义数组int b[8]={2,3,4};则数组b在内存中所占字节数为().

A) 3 B) 6 C) 8 D) 16

用数组名作为函数调用时的实参,实际上传送给形参的是().

A) 数组首地址B) 数组的第一个元素值

C) 数组中全部元素的值D) 数组元素的个数

若定义数组int a[10] ,其数组元素的下标下限为().

A)1

B)0

C)9

D)10

若定义数组int a[10],以下语句哪一个不成立()

A)a 数组在内存中占有一连续的存储区

B)a代表a数组在内存中占有的存储区的首地址

C)*(a+1)a[1]代表的数组元素相同

D)a是一个变量

若定义数组并初始化int a[10]={ 1,2,3,4},那么在中以下语句哪一个成立()

A)若引用a[10],编译时报错

B)若引用a[10],连接时报错

C)若引用a[10],运行时出错

D)若引用a[10],系统不报错

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立()

A)a[10]a数组的最后一个元素的引用

B)a数组中有10个元素

C)a数组中每个元素都为整数

D)a数组是整型数组

执行下面的程序段后,变量k中的值为().

int k=3,s[2];

s[0]=k;k=s[1]*10;

A)不定值B)33C)30D)10

如已有定义:int a[4];若要把10,20,30,40分别赋值给数组a4个元素,下面正确的赋值方式是().

A)scanf("%d%d%d%d",a[0],a[1],a[2],a[3]};

B)scanf("%s",a); 

C)a={10,20,30,40}; 

D)a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10;

下列数组定义正确的是().

A) int a[];

B) char a[100]={68,69,70};

C) int n=100,a[n];

D) char n=4,a[n]={"abc"};

一维数组初始化时,若对部分数组元素赋初值,则下面正确的说法是().

A)可以只对数组的前几个元素赋初值

B)可以只对数组的中间几个元素赋初值

C)可以只对数组的后几个元素赋初值

D)以上说法全部正确

决定数组所占内存单元多少的是().

A)数组的长度B)数组的类型 C)数组在初始化时被赋值的元素的个数D) 数组元素的个数及其类型

以下程序的输出结果是().

main()

{int i , a[10]};

for (i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258B)741C)852D)369

设有程序段:

#define N 3

#define M N+2

float a[M][N];

则数组a的元素个数和最后一个元素分别为().

A) 15,a[5][3]B) 15,a[3][5]C) 8,a[4][2]D) 15,a[4][2]

设有:int x[2][4]={1,2,3,4,5,6,7,8};printf("%d",x[2][4]); 则输出结果是().

A) 8B) 1C) 随机数D) 语法检查出错

以下程序的输出结果是().

main()

{int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 };

for(i=0;i<3;i++)printf("%d,",a[i][2-i] );

}

A) 1,5,9 B) 1,4,7 C) 3,5,7 D) 3,6,9

以下数组定义中正确的是().

A) float f[3,4];B) int a[ ][4];

C) char c(3);D) double d[3+2][4];

指出以下错误语句().

A)int a[2][3]= {

{1,2,3},{4,5,6}};

B)int b[2][3]= {1,2,3,4,5,6};

C)int a[][]={

{1,2,3},{4,5,6}};

D)int a[][3]= {

{1,2,3},{4,5,6}};

若定义数组并初始化int b[][3]={

{1,2,3},{4,5,6}};以下语句哪一个成立()

A)b[1][2]的值为1

B)b[1][2]的值为4

C)b[1][2]的值为6

D)b[1][2]的值为2

若定义数组并初始化int b[][3]={

{1,2,3},{4,5,6}};以下语句哪一个成立()

A)b[1][2]的值为1

B)b[1][2]的值为4

C)b[1][2]的值为6

D)b[1][2]的值为2

若定义数组并初始化int a[2][3]={

{1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6};

以下语句哪一个不成立()

A)ab数组中各有6个元素

B)b数组的初始化是错误的

C)a数组与b数组中每个对应元素相等

D)ab数组都是整型数组

合法的数组初始化是().

A)int x[][]={

{1,2,3},{4,5,6}};

B)int x[][3]={1,2,3,4,5};

C)int x[3][3]={1,2,3;4,5,6;7,8,9};

D)int x[3][3]={1,2,3};

在对二维数组初始化时,错误的说法是().

A)可对二维数组的全部元素赋初值

B)可对二维数组的部分元素赋初值

C)给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略

D)给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略

以下程序的输出结果是().

main()

{int a[4][4]={

{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A)0650B)1470C) 5430D)输出值不确定

在内存中,二维数组存放的顺序是().

A)按行顺序B)按列顺序 C)按元素的大小D)按元素被赋值的先后顺序

设定义了:char a[10]={'1','2','3','4','5'}; a[5]的正确初值是().

A) '5'B) 5C) '\0'D) ' '

设有:char a[10]; 下列语句那个是正确的()

A) scanf("%c",a[0]);

B) scanf("%c",a);

C) printf("%c",a)

D) printf("%c",a[0])

设有定义:char a[][5]={

{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}}; 

a[0][0]a[4][4]的初值分别为().

A) *,*

B) 空格,空格

C) 空白符,*

D) *,空白符

设有:char a[]={"I am a student."}; a在内存中占用的字节数是().

A) 15B) 12C) 16D) 32

给出以下定义:char u[ ]="abcdef";char v[ ]={'a','b','c','d','e','f'};则下列正确的描述为().

A) 数组u和数组v等价      

B) 数组u和数组v的长度相等

C) 数组u的长度大于数组v的长度

D) 数组u的长度小于数组v的长度

若有以下定义和语句,则输出结果是().

char string[ ]="Sunny";

printf("%.3s",string);

A) Su B) Sun C) Sunn D) Sunny

C语言中实现字符串输入的库函数是().

A) gets(字符数组)B) puts(字符数组)

C) strlen (字符串)D) strcmp(字符串1,字符串2)

若定义数组并初始化char a[]={"hello"},该数组的元素个数是().

A)不知道

B)5

C)6

D)7

若定义数组并初始化char a[10]={"hello"},该数组的元素中’\0’的个数是().

A)10

B)5

C)6

若定义数组并初始化char a[10]={"hello"},该数组的元素中 a[5]().

A)'h'

B)'o'

C)'\0'

D)'l'

若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下错误语句()

A)可以用scanf("%s",a[0]);语句对a[0]元素重新赋值。

B)可以用scanf("%s",&a);语句对a数组重新赋值。

C)可以用scanf("%c",a[3]);语句对a[3]元素重新赋值。

D)可以用scanf("%s",a);语句对a数组重新赋值。

数组初始化时,下面说法错误的是().

A)当对一维数组的全部元素赋初值时,可以不指定长度

B)当对二维数组的全部元素赋初值时,可以省略维数

C)用字符串对一维字符数组赋值时,可以不指定长度

D)用字符串对二维字符数组赋值时,可以省略维数

可以用如下的语句定义数组aint n10,a[n];

设已定义:int a[15]={1,2,3,4,5};则语句 printf("%d",a[5]); 的输出结果是5

数组中的所有元素必须属于同一种数据类型。

数组名表示的是该数组元素在内存中的首地址。

C语言只能单个引用数组元素,中多次提到,不能一次引用整个数组。

定义数组:int a[10]; 则数组a的最后一个元素是a[9],数组 a共有9个元素。

C语言中数组元素用数组名后带圆括弧的下标表示。

C语言中数组所占存储单元的多少仅由数组的长度决定。

定义一维数组int a[10];则语句for(i=0;i<10;i++) scanf("%d",a[i]);是正确的。

给二维数组的全部元素赋初值,可以用如下的语句实现:int a[][]={

{1,2,3},{4,5,6},{7,8,9}};