最新C语言---数-组练习题
第七章数组
1.在C语言中引用数组元素时,下面关于数组下表数据类型的说法错误的是()A)整型常量B)整型表达式
C) 整型常量或整型表达式D) 任何类型的表达式
2.以下能正确定义一维数组a的选项是()
A)int a=[5]={0,1,2,3,4,5};B) char a[ ]={0,1,2,3,4,5};
C)char a={ 'A','B','C',};D) int a[5]= "0,1,2,3"
3.以下能正确定义一维数组a的选项是()
A) int a(10);B) int n=10, a[n];
C) int n;D) #define SIZE 10
scanf("%d",&n);int a[SIZE];
int a[n];
4.若有定义:int a[10];则正确引用数组a元素的是()
A) a[10] B) a[3] C) a[5] D) a[-10]
5.以下不正确的数组定义是()
A) double x[5]={2.0,4.0,6.0,8.0,10.0};
B) int y[5]={0,1,3,5,7,9};
C) char c1[ ]={'1','2','3','4','5'};
D) char c2[ ]={'\x10','\xa','\x8'};
6.以下叙述中错误的是()
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
7.以下正确的二维数组定义是()
A)int a[ ] [ ]={1,2,3,4,5,6};B)int a[2][ ]={1,2,3,4,5,6};
C)int a[ ][3]={1,2,3,4,5,6};D)int a[2,3]={1,2,3,4,5,6};
8.以下对二维数组a进行初始化正确的是()
A)int a[2][ ]={{1,0,1},{5,2,3}};
B)int a[ ][3]={{1,2,3},{4,5,6}};
C)int a[2][4]={{1,2,3},{4,5},{6}};
D)int a[ ][3]={{1,0,1},{ },{1,1}};
9.以下不能对二维数组a进行初始化的是()
A)int a[2][3]={0};
B)int a[ ][3]={{1,2},{0}};
C)int a[2][3]={{1,2},{3,4},{5,6}};
D)int a[ ][3]={1,2,3,4,5,6};
10.若有定义:int a[3][4];则正确引用数组a元素的是()
A)a[2][4] B)a[3][3] C)a[0][0] D)a[3][4]
11.若定义了int b[ ][3]={1,2,3,4,5,6,7};则b数组第一维的长度是()
A)2 B)3 C)4 D)无确定值
12.若有定义:int a[3][4]={0};以下叙述中正确的是()
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
13.若有定义:int a[ ][4]={0,0};以下叙述中错误的是()
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)因为初值个数除以a中第二维大小的值的商为0,故数组a的行数为1
D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
14.若二维数组a有m列,则计算元素a[ i ][ j ]在数组中相对位置的公式为()A)i*m+j B)j*m+i C)i*m+j—1 D)i*m+j+1
15.设char x[ ]="12345",y[ ]={'1','2','3','4','5','\0'};以下叙述中正确的是()A)x数组的长度等于y数组的长度B)x数组的长度大于y数组的长度C)x数组的长度少于y数组的长度D)x数组与y数组的存储区域相同16.下面是对字符数组s进行初始化,其中不正确的是()
A)char s[5]={"abc"};B)char s[5]={'a','b','c'};
C)char s[5]=" ";D)char s[5]="abcde";
17.字符数组s不能作为字符串使用的是()
A)char s[ ]="happy";B)char s[6]={'h','a','p','p','y','\0'};
C)char s[ ]={"happy"};D) char s[5]={ 'h','a','p','p','y','\0'};
18.下面有关字符数组的描述中错误的是()
A)字符数组可以存放字符串
B)字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
19.下面程序段执行后的输出结果是()
c语言二维数组表示方法int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf("%d",a[ k ][2-k]);
A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7
20.下面程序段执行后的输出结果是()
char c[5]={'a','b','\0','c','\0'};
printf("%s",c);
A)'a' 'b' B)ab C)ab c D)abc
21.有两个字符数组a、b,则以下()是正确的输入语句
A)gets (a,b);B)scanf ("%s%s",a,b);
C)scanf ("%s%s",&a,&b);D)gets ("a");gets ("b");
22.下面程序段执行后的输出结果是()
char a[7]="abcdef";
char b[4]="ABC";
strcpy (a,b);
printf ("%c",a[5]);
A)空格B)\0 C)e D)f
23.下面程序段执行后的输出结果是()
char c[ ]="\t\b\\\0will\n";

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。