第六章测试1.
下面正确的数组定义语句是( )。
A:
int s[2][3]={{1},{1,2}};
B:int y[1][4]={1,2,3,4,5};
C:double t[][3]={0};
D:float x[3][]={{1},{2},{3}};
答案:A
2.
二维数组元素的存储规律是( )。
A:
按行从右到左存储
B:按行S路线存储
C:按行从左到右存储
D:按列从左到右存储
3.在定义int a[5][4];之后,对a的引用正确的是( )。
A:
a[0][0]
B:a[0,0]
C:a[2][4]
D:a[5][0]
4.有说明:int a[3][2]={0},则数组中各元素都可以得到初值,但其值不一定为0。
A:错 B:对 5.
int f[3][]={{0,9,8},{7,7,7},{8,6,0}};定义正确。
A:错 B:对 6.
char a[10]={“abcd”}; 那么数组a占用的字节数是10。
A:错 B:对 7.
字符串必须以‘\0’结束,但字符数组可以不包括‘\0’。
A:错 B:对 8.
字符串'This'大于字符串'that'。
A:对 B:错 9.
已有定义:char a[]="xyz",b[]={'x','y','z'};则数组a和b所占字节数相同。
A:对 B:错 10.
下面程序段的运行结果是( )。
int a[]={2,4,6,8,10};
int y=0,x;
for(x=0;x<4;x++)y+=a[x];
printf('%d\n',y);
A:
19
B:20
C:18
D:17
11.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A:
任何类型的表达式
B:整型常量
C:整型表达式
D:整型常量或者整型表达式
12.有如下程序
void main()
{ int a[5]={0,0,0},i,k=3;
for(i=0;i<5;i++)a[i]=i+1;
printf(“%d\n”,a[k]);
}
该程序的输出结果是( )
A:
2
B:4
C:不确定的值
D:0
13.执行下面的程序段后,数组元素s[1]中的值为0。
int k=3,s[2];
s[0]=k;
A:对 B:错 14.
int a[3]={1,2,3,4}; 是正确的。
A:对 B:错 15.
已知程序段{char a[10];scanf('%s',a);printf('%s',a);}输入:ab cd<回车>,输出结果是:ab
A:错 B:对 16.
声明语句为“char a[10];”,执行下列语句后的输出结果为( )。
printf("%d",strlen(strcpy(a,"Windows")));
A:
7
B:8
C:9
D:6
17.设有数组定义:char array[]=“China”;则strlen(array)的值为( )。
A:
6
B:4
C:5
D:7
18.有定义语句:char s[10];,若要从终端给s 输入字符,正确的输入语句是( )。
A:
gets(s[0]);
B:gets(s);
C:scanf(s);
D:getchar(s);
19.执行完int a[10]; gets(a); 后,可以为数组a赋值。
A:对 B:错 20.
char a[10]={“abcd”}; 那么strlen(a)的值是4。
A:对 B:错