第六章 数组

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

第六章数组

一、选择题

1.在C语言中,引用数组元素时,其数组下标的数据类型允许是。(0级)

A)整型常量B)整型常量或整型表达式

C)整型表达式D)任何类型的表达式

2.以下对一维整型数组a的正确说明是。(0级)

A)int a(10); B)int n=10,a[n];

C)int n; scanf(“%d”,&n); int a[n];

D ) #define SIZ

E 10 int a[SIZE];以下能对一维数组a进行正确初始化的语句是。(0级)

A)int a[10]=(0,0,0,0,0);

B)int a[10]={ };

C)int a[ ]={0};

D)int a[10]={10*1};

4.不是给数组的第一个元素赋值的语句是。(0级)

A)int a[2]={1}; B) int a[2]={1*2};

C)int a[2];scanf (“%d”,a);D)a[1]=1;

5.下面程序的运行结果是。(1级)

main()

{int a[6],i;

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

{ a[i]=9*(i-2+4*(i>3))%5;

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

}

}

A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 0

6.下列定义正确的是。(1级)

A)static int a[]={1,2,3,4,5} B) int b[]={2,5}

C) int a(10) D) int 4e[4]

7.若有说明int a[][4]={0,0};则下列叙述不正确的是。(0级)

A) 数组a的每个元素都可以得到初值0

B) 二维数组a的第一维的大小为1

C) 因为对二维数组a的第二维大小的值除以初值个数的商为1,故数组a的行数

为1

D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值

8.设有char str[10],下列语句正确的是。(1级)

A) scanf("%s",&str); B) printf("%c",str);

C) printf("%s",str[0]); D) printf("%s",str);

9.下列说法正确的是。(0级)

A) 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组

B) 在C语言中,数组元素的个数可以不确定,允许随机变动

C) 在C语言中,数组元素的数据类型可以不一致

D) 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素

的个数

10.假设array是一个有10个元素的整型数组,则下列写法中正确的是。(1级)

A) array[0]=10 B) array=0

C) array[10]=0 D) array[-1]=0

11.执行以下程序段后,a的值是。(1级)

static int a[]={5,3,7,2,1,5,4,10};

int a=0;k;

for(k=0;k<8;k+=2)

a+=*(a+k);

A) 17 B) 27 C) 13 D) 有语法错误,无法确定

12.分析下列程序

main()

{int n[3],i,j,k;

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

n[i]=0;

k=2;

for(i=0;i

for(j=0;j

n[j]=n[i]+1;

printf("%d\n",n[1]);

}

上述程序运行后,输出的结果是。(1级)

A)2 B)1 C)0 D)3

13. 若有以下定义:

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

char b= …a‟, c, d, e;

则下面表达式中数值为2的是。(02~03第一学期试题)

A)a [3] B)a [e – c] C)a [d-b] D)a [ e-b ]

14.下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是:。(01~02第二学期试题)

A)strcat(str1,str2) ; B)strcat(str2,str1);

C)strcpy(str1,str2) ; D)strcmp(str1,str2);

15.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:。(03试题)

A)strcpy(str1,str2); B)strcpy(str1, “China”);

C)strcat(str1,“China”);D)strcat(“Beijing”,str2);

16.若有二维数组a[m][n],则数组中a[I][j]之前的元素的个数为。(03试题)

A)j*m+I B)I*n+j

C)I*m+j+1 D)I*n+j+1

17.若有如下定义:

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

则下列语句的输出结果是:。(03试题)

for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]);

A)3 5 7 B)3 6 9

C)1 5 9 D)1 4 7

18.下列字符串赋值语句中,不能正确把字符串 C program赋给数组的语句是:。(往届试题)

A)char a[]={…C‟,…‟,…p‟,…r‟,…o‟,…g‟,…r‟,…a‟,…m‟};

B)char a[10]; strcpy(a2, “C program”);

C)char a[10]; a= “C program”;

D)char a[10]={ “C program”};

19. 以下不能对二维数组a 进行正确初始化的语句是。(04~05第二学期试题)

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};

20. 下面程序的运行结果是。(04~05第二学期试题)

char c[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c); }

A)‘a’‘b’B)ab\0c\0

C)ab c D)ab

21. 判断字符串a和b是否相等,应当使用。(04~05第二学期试题)

A)if (a= =b) B)if (a=b)

C)if (strcpy(a,b)) D)if(strcmp(a,b))

22. 有字符数组a[80]和b[80],则正确的输出语句是。(04~05第二学期试题)

A)puts (a,b); B)printf(“%s,%s”,a[],b[]);

C)putchar(a,b); D)puts(a),puts(b);

23.若有如下定义和语句:

char s[12]= “a book!”;

printf(“%d”,strlen(s) );

则输出结果是:。(往届试题)

A)12 B)10 C)7 D)6

24.以下能对二维数组a进行正确说明和初始化的语句是:。(往届试题)

A)int a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) };

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

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

D)int a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) };

25.若有说明:int a[3][4] = {0};则下面正确的叙述是:。(往届试题)

A)只有元素a[0][0]可以得到初值0

B)此说明语句不正确

C)数组a中每个元素均可得到初值0

D)数组a每个元素均可得到初值,但值不一定为0

二、填空题

1.数组名定名规则和变量名相同,遵循定名规则。(0级)

相关文档
最新文档