C语言---数-组练习题

  • 格式:doc
  • 大小:63.00 KB
  • 文档页数:21

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章数组

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.下面程序段执行后的输出结果是()

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.下面程序段执行后的输出结果是()