第7章 数组 复习

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

第7章数组

1.下列数组声明中,正确的是()。

(a)int a[5]={0}; (b) int a[ ]={0 1 2};

(c) int a[5]=0; (d) int a[ ];

2.下列数组声明中,正确的是()。

(a)int a[10];

(b)int n = 10, a[n];

(c)int N =10; int a[N];

(d)int n; scanf(" %d ", &n); int a[n];

3.已知int a[10];则对a数组元素引用不正

确的是()。

(a)a[10] (b) a[3+5] (c) a[10-10]

(d) a[5]

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

(a)int a[2][3] = {1, 2, 3, 4, 5, 6, 7};

(b)int a[ ][ ] = {{1, 2, 3},{4, 5, 6},{7, 8,

9}};

(c)int a[2][ ] = {1, 2, 3, 4, 5, 6};

(d)int a[ ][4] = {6};

5.若有定义: int a[3] = {0, 1, 2}; 则a[1]的

值为()。

(a)0 (b) 1 (c) 2 (d)

3

6.若有定义:int

a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的

值为()。

(a)0 (b) {1,2} (c) 1 (d)

3

7.有如下定义int a[ ][3] = {1,2,3,4,5,

6,7,8};则数组a 的行数是()。

(a) 2 (b) 3 (c) 4 (d) 无法确

定的

8.getchar( )函数的功能是从终端输入()。

(a)一个整型变量值

(b) 一个实型变量值

(c)多个字符

(d) 一个字符

9.设已定义char

s[ ]="\"Name\\Address\023\n";,则字符

串所占的字节数是()。

(a)19 (b) 15 (c) 18

(d)14

10.以下程序段运行后屏幕输出为()。

char a[ ]="abc\0mis";

printf("%d",strlen(a));

(a) 5 (b) 8 (c) 3

(d) 4

11.若有定义:char a[ ] = “abcdef”; char b[ ]

= “xyz”; 则以下程序段运行屏幕输出

为()。

strcpy(a,b);

printf(“%c”, a[2]);

(a) c (b) z (c) \0

(d) d

12.设有如下数组定义:char str[8]=

{"FuJian"};则分配给数组str的存储空

间是()个字节。

(a) 6 (b) 7 (c) 8 (d) 9

13.有如下定义:

char str[6]= { 'a','b','\0','d ','e','f'};

则语句:printf("%s" ,str ) ;

的输出结果是(D)。

(a)ab\ (b) abdef (c) ab\0

(d) ab

14.若有定义: int a[5] = { 1, 2, 3, 4, 5}; 则

语句a[1] = a[3] + a[2+2] - a[3-1]; 运行

后a[1]的值为(A)。

(a) 6 (b) 5 (c) 1

(d) 2

15.设有如下程序段:

int a [3][3]= {1 ,0, 2, 1,0 ,2 ,1, 0, 1}, i, j,

s = 0 ;

for (i=0 ; i<3; i++)

for (j=0 ; j

s = s+ a[i][j];

则执行该程序段后, s的值是(C)。

(a)0 (b) 1 (c) 2 (d) 3

16.若有定义:int i = 0, x = 0; int a[3][3]=

{ 1, 2, 3, 4, 5, 6, 7, 8, 9}; 则以下程序段

运行后x的值为(C)。

for ( ; i < 3; i ++) x += a[i][2- i] ;

(a)0 (b) 12 (c) 15

(d) 18

17.设已定义char

s[ ]="\"Name\\Address\023\n";,则字符

串所占的字节数是()。

(a)19 B. 16 C.

18 D. 14

18.数组元素下标的数据类型为()。

(a)整型常量、字符型常量或整型表

达式

(b)字符串常量

(c)实型常量或实型表达式

(d)任何类型的表达式

19.()是正确的数组定义。

(a)int n=10,x[n];

(b)int x[10];

(c)int N=10;int x[N];

(d)int n;

scanf("%d",&n);

int x[n];

20.若已定义int arr[10]; 则不能正确

引用arr数组元素的是()。

(a)arr[0] B. arr[1] C.

arr[10-1] D. arr[7+3]

21.若已定义int x[4]={2,1,3}; 则元素

x[1]的值为()。

(a)0 B. 2 C.

1 D. 3

22.以下程序段运行后,x[1]的值为()。

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

x[1]=x[3]+x[2+2]-x[3-1];

(a) 6 B. 0 C.

1 D. 5

23.()是合法的数组定义。

(a)char str[ ]={48,49,50,51,52,53};

(b)int a[5]={0,1,2,3,4,5};

(c)int a[ ]="string";

(d)char str[ ]=…string‟;

24.若有以下程序:

void main( )

{char s[10]= "ajskdl",r[10];

r=s;

printf("%s\n",r);

}

则()。

(a)执行时输出:ajskdl

(b)执行时输出:a

(c)执行时输出:aj

(d)编译不通过

25.下面程序段的运行结果是()。

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

do{

m[i]+=2;

}while(m[++i]>5);

for(i=0;i<6;i++)

printf("%d ",m[i]);

(a)7 10 9 8 11 4

(b)7 10 9 8 11 2

(c) 5 10 9 8 11 2

(d) 5 10 9 8 11 4

26.下面程序段的运行结果是()。

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

for(i=0;i<6;i++)

{if(i % 2 !=0)

m[i]+=10;

}

for(i=0;i<6;i++)

printf("%d ",m[i]);

(a) 5 18 7 16 9 12

(b)15 18 17 16 19 12

(c)15 8 17 6 19 2

(d) 5 8 7 6 9 2

27.下面关于数组的叙述中,正确的是

()。

(a)定义数组后,数组的大小是固定

的,且数组元素的数据类型都相同

(b)定义数组时,可不加类型说明符

(c)定义数组后,可通过赋值运算符

"="对该数组名直接赋值

(d)在数据类型中,数组属基本类型

28.以下程序段的运行结果是()。

int a[]={1,2,3,4},i,j;

j=1;

for(i=3;i>=0;i--)

{a[i]=a[i]*j;

j=j*3;

}

for(i=0;i<4;i++)

printf("%d ",a[i]);

(a) 3 6 9 12

(b)18 12 9 4

(c)27 18 9 4

(d)54 18 9 4

29.下面关于字符数组的叙述中,错误的

相关文档
最新文档