C语言
第三章 数组
一、选择题
1.合法的数组定义是
A.int 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};
2.若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)
A.输出abcd B.输出a
C.输出abcd u u u u u D.编译不通过
3.数组a[2][2]的元素排列次序是
A.a[0][0],a[0][1],a[1][0],a[1][1] B.a[0][0],a[1][0],a[0][1],a[1][1]
C.a[1][1],a[1][2],a[2][1],a[2][2] D.a[1][1],a[2][1],a[1][2],a[2][2]
4.有以下语句,则下面是正确的描述
static char x [ ]=“12345”; static char y[ ]={ 1 , 2 , 3 , 4 , 5 };
A.x数组和y数组的长度相同。
B.x数组长度大于y数组长度。
C.x数组长度小于y数组长度
D.x数组等价于y数组。
5.列不能正确进行字符串赋值操作的语句是
A.char str[10];gets(str); B.char*str;str=“a”;
C.char*str;str= a ; D.charstr[10];strcpy(str,“hello”);
6.若数组的长度为n,则该数组中的元素最多有n个。若[3][5]是一个二维数组,则最多可使用的元素个数为
A.8 B.10 C.15 D.5
7.若有说明:int a[3][4]; 则对a数组元素的非法引用是
A.a['B'-'A'][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4]
8.设有语句static char str[10]={“china”};printf(“%d”,strlen(str)); 则输出结果是
A.10 B.5 C.china D.6
9.表达式strlen(“string”)+strlen(“C”)的运算结果为
A.9 B.10 C.7 D.8
10.执行以下程序段后,s的值为。
static char ch[ ]=“623”
int a,s=0;for(a=0;ch[a]>= 0 &&ch[a]<= 9 ;a++)
s=10*s+ch[a]- 0 ;
A.-4705 B.623 C.600 D.326
11.C语言中,数组名代表
A.数组全部元素的值
B.数组首地址 D.数组元素的个数 C.数组第一个元素的值
二、阅读程序,写出运行结果:
1.main()