当前位置:文档之家› (完整版)C语言题库数组

(完整版)C语言题库数组

(完整版)C语言题库数组
(完整版)C语言题库数组

数组

一、选择题

1、假定int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组X在内存中所占字节数是(B)。

A 3

B 6

C 10

D 20

2、执行下面的程序段后,变量k 中的值为(A)。

int k=3, s[2];

s[0]=k; k=s[1]*10;

A 不定值

B 33

C 30

D 10

3、设有数组定义: char array [ ]="China"; 则数组array 所占的空间为(C)。

A 4 个字节

B 5 个字节

C 6 个字节有0/的结束标志

D 7 个字节

4、下列描述中不正确的是 C

A 字符型数组中可以存放字符串

B 可以对字符型数组进行整体输入、输出

C 可以对整型数组进行整体输入、输出

D 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

5、给出以下定义

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为 C

A 数组X 和数组Y 等价

B 数组x 和数组Y 的长度相同

C 数组X 的长度大于数组Y 的长度

D 数组X 的长度小于数组Y 的长度

6、下述对C 语言字符数组的描术中错误的是 C

A 字符数组可以存放字符串

B 字符数组中的字符串可以整体输入、输出

C 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D 不可以用关系运算符对字符数组中的字符串进行比较

7、定义如下变量和数组

int i;

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

则下面语句的输出结果是 C

for(i=0;i<3;i++) printf("%d",x[i][2-i]);

A 1 5 9

B 1 4 7

C 3 5 7

D 3 6 9

8、以下一维数组a 的正确定义是(D)

A int a(10);

B float n=10,a[n];

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

D #define size 10; long a[size];

9、合法的数组定义是 D

A int a[]="string";

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

C vhst s="string";

D char a[]={0,1,2,3,4,5};

10、以下关于数组的描述正确的是C

A 数组的大小是固定的,但可以有不同的类型的数组元素;

B 数组的大小是可变的,但所有数组元素的类型必须相同;

C 数组的大小是固定的,但所有数组元素的类型必须相同;

D 数组的大小是可变的,但可以有不同的类型的数组元素;

11、在定义int a[10];之后,对a 的引用正确的是 A

A a[9]

C a(6)

D a[10]

12、以下对一维数组a 进行不正确初始化的是 A

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

B int a[10]={};

C int a[]={0};

D int a[10]={10*2};

13、以下对二维数组a 进行正确初始化的是 B

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

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

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

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

14、以下对字符数组进行不正确初始化的是 A

A static char word[]='cool\0';

B static char word[]={‘c’,’o’,’o’,’l’};

C static char word[]={“cool\0”};

D static char word[]=”cool\0”;

15、在定义int a[5][4];之后,对数组元素的引用正确的是 C

A a[2][4]

B a[5][0]

C a[0][0]

16、下列选项中,能正确定义数组的语句是 D

A int num[0..2008];

B int num[];

C int N=2008;

int num[N];

D #define N 2008

int num[N];

17、有以下程序

#include

main()

{int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;

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

for(j=i;j<=1;j++) t+=b[i][b[j][i]];

printf("%d ",t);

程序运行后的输出结果是 C

A 1

B 3

C 2

D 9

18、在C 语言中,能实现字符串连接的函数是( A )

A strcat()

B strcmp()

C strcpy()

D strlen()

19、在C 语言中,定义数组int a[7]={3,4,5,6,7,8,9},则a[5]的值为( D )。

A 9

B 6

C 7

D 8

20、在C 语言中,定义int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},i=5,则下列选项中不能正确引用数组元素的是(A )。

A a[2*i-12]

B a[2*i-2]

C a[12-i]

D a[2*i]

21、在C 语言中,有以下定义:char b[10]={'h','n','s','p','k','s'};,则语句printf("%c\n",b[1]); 的结果为(B )。

A h

B n

C s

D p

22、在C 语言中,定义char a[]={'a','b','l','l','o'},已知字符'b'的ASCII 码

为98,

则printf("%d\n",a[0]); 的值为(A )。

A 97

B a

C 98

D b

23、在C 语言中,定义数组int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},则a[3]的

值为(B)

A 3

B 4

C 5

D 6

24. (分值:2.1 分)在C 语言中,有以下程序main(){int

p[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i<5) {if(p[i]%2) j+=p[i];

i++;}printf("%d\n",j);}程序运行后的输出结果是( A)

A 39

B 45

C 56

D 60

25、在C 语言中,若有定义:int y=3,x[7]={1,2,3,4,5,6,7},则表达式y+=x[2]的值为( A )。

A 6

B 5

C 8

D 9

26、在C 语言中,若有定义:int y=5,x[7]={1,2,3,4,5,6,7},则表达式y+=x[6]的值为(D )。

A 9

B 10

C 11

D 12

27、在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是 C

A 1

B 2

C 4

D 5

28、在执行char str[10]=”china\0”;strlen(str)的结果是 B

A 5

B 6

C 7

D 9

29、在C 语言中,引用数组元素时,其数组下标的数据类型允许是 B

A 整型常量

B 整型表达式或整型常量

C 实型常量

D 任何类型的表达式

30、若二维数组a 有m 列,则在a[i][j]前的元素个数是()

A j*m+i

B i*m+j

C i*m+j-1

D i*m+j+1

31、以下程序给数组所有的元素输入数据,空处应填入()main()

{ int a[10],i=0;

while(i<10) scanf(“%d”,____C________);

}

A &a[i]

B a[i++]

C &a[i++]

D &a[++i]

32、有字符数组a[80],b[80],则正确的输出语句是 D

A puts(a,b);

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

C putchar(a,b);

D puts(a);puts(b);

33、以下能正确定义字符串的语句是 D

A char str[]={'\064'};

B char str="\x43";

C char str=";

D char str[]="\0";

34、以下数组定义中正确的是 D

A int x[][3]={0};

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

C nt x[][3]={{1,2,3},{4,5,6}};

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

35、要说明一个有10 个int 元素的数组,应当选择语句 A

A int a[10]

B int a[2,5]

C int a[ ]

D int *a[10]

36、已知:int a[10];则对a 数组元素引用正确的是 D

A a[10]

B a[3.5]

C a(5)

D a[10-10]

37、对二维数组的正确说明是 C

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

38、已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是

( C)。

A 数组a 和b 的长度相同

B a 数组长度小于b 数组长度

C a 数组长度大于b 数组长度

D 上述说法都不对

39、以下能正确定义一维数组的选项是 B

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]="0123";

40、若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 D

A a[g-c]

B a[4]

C a['d'-'c']

D a['d'-c]

41、合法的数组定义是 B

A int a[]="string";

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

C char s="string";

D char a[]={0,1,2,3,4,5};

42、以下能对二维数组c进行正确的初始化的语句是B

A int c[3][]={{3},{3},{4}};

B int c[][3]={{3},{3},{4}};

C int c[3][2]={{3},{3},{4},{5}};

D int c[][3]={{3},{},{3}};

43、阅读下列程序段,则程序段实现的功能是 C

#include "stdio.h"

main()

{

int k[10];

int j;

for(j=0;j<10;j++)

scanf("%d",&k[j]);

for(j=9;j>=0;j--)

printf("%d,",k[j]);

}

A 输入10个数据的顺序输入并输出

B 输入10个数据的逆序存放

C 输入10个数据的逆序输出

D 以上叙述均错误

44、以下对一维数组a的定义中正确的是( C)

A. char a(10);

B. int a[0..100];

C. int a[5];

D. int k=10;int a[k];

45、阅读如下程序段,则程序在先后输入love和china后,输出结果是()(来源二级C)

#include

#include

main()

{ char a[30],b[30];

int k;

gets(a);

gets(b);

k=strcmp(a,b);

if(k>0)puts(a);

else if(k<0)puts(b);}

A)love

B)chinaA

C)lovechina

D)没有输出结果

46、以下程序执行后的输出结果是(A)。

A. 2

B. 3

C.

4 D. 5

#include "string.h"

main( )

{char *p[10]={ "abc","aabdfg","dcdbe","abbd","cd"};

printf("%d\n",strlen(p[4])); 不包括\0

}

47、若有定义:

char a[10],*b=a;,则不能给数组a输入字符串”This is a book”的语句是( B )。

A. gets(a)

B. scanf("%s",a)

C. gets(&a

[0]); D. gets(b)

48、以下对一维数组c进行正确的定义初始化的语句是 D

A)int c[10]=0;

B)int c[10]={0}*10;

C)int c[1]={0,0,0,0,0,0,0};

D)int c[10]={0};

49、不能把字符串:Hello!赋给数组b的语句 B

A char b[10]={'H','e','l','l','o','!'};

B char b[10];b="Hello!";

C char b[10];strcpy(b,"Hello!");

D char b[10]="Hello!";

50、若有以下语句,则正确的描述是(B)(注:来源二级C)char a[]="toyou";

char b[]={′t′,′o′,′y′,′o′,′u′};

A a数组和b数组的长度相同

B a数组长度小于b数组长度

C a数组长度大于b数组长度

D a数组等价于b数组

51、已知:char a[15],b[15]={"I love china"};则在程序中能将字符串I love china赋给数组a的正确语句是(D)

A a="I love china";

B strcpy(b,a);

C a=b;

D strcpy(a,b);

52、下列说法正确的是( B ) .

A. 数组如果没有初始化,也没有被赋值,则每个元素的默认值为0

B. 在给数组初始化时,可以只给其中几个元素赋初值

C. 数值型数组不能使用赋值语句整体赋值,但字符型数组可以使用赋值语句整体赋一个字符串

D. 用一个字符型数组来存放字符串时,可以存放与数组长度等数目的有效字符

53、设有如下字符数组定义,则合法的函数调用是( A )

char a[]={ “I am a student” },b[]={“tec her”};

A strcmp(a,b);

B strcpy(a,b[0]);

C strcpy(a[7],b);

D strcat(a[7],b);

54、判断字符串s1 是否大于字符串s2,应当使用(D )。

(A) if( s1>s2 )

(B) if( strcmp(s1,s2))

(C) if(strcmp(s2,s1)>0)

(D) if(strcmp(s1,s2)>0)

55、有语句char str1[10],str2[10]={"china"};则能将字符串china 赋给数组str1的正确语句是____D____。(注:来源二级C)

A str1={"china"};

B strcpy(str1,str2);

C str1=str2;

D strcpy(str2,str1);

56、合法的数组定义 C

A int a[]={“string”};

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

C char a[]= “string”;

D char a[5]={0,1,2,3,4,5};

57. 若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为()(假设a[0][0]位于数组的第一个位置上D。

(A) i*m+j

(B) j*m+i

(C) i*m+j-1

(D) i*m+j+1

58. 有两个字符数组a、b,则以下正确的输入语句是( B )。

(A) gets(a,b);

(B) scanf(“%s%s”,a,b);

(C) scanf(“%s%s”,&a,&b);

(D) gets(“a”),gets(“b”);

59. 以下对二维数组a 进行正确初始化的语句是( B)。

(A) inta[2][ ]={{1,0,1},{5,2,3}};

(B) inta[ ][3]={{1,2,3},{4,5,6}};

(C) inta[2][4]={{1,2,3},{4,5},{6}};

(D) inta[ ][3]={{1,0,1},{ },{1,1}};

60. 若有说明:intx[3][4]; 则对a 数组元素的正确引用是(C )。

(A) x[2][4]

(B) x[1,3]

(C) x[4-2][0]

(D) x[0][4]

二、填空题

1、以下程序运行后的输出结果是 24 。

main()

{ int p[7]={11,13,14,15,16,17,18};

int i=0,j=0;

while(i<7 && p[i]%2==1) j+=p[i++];

printf("%d\n",j);

2、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

请填空。

main()

{ int i,a[20],sun,count;

sun=count=0;

for(i=0;i<20;i++) scanf("%d",&a[i] );

fro(i=0;i<20;i++)

{ if(a[i]>0)

{ count++;

sum+= _____a[i]____;

}

}

printf("sum=%d,count=%d\n",sum,count);

}

3、以下程序运行后的输出结果是 13715

main()

{ int i,n[]={0,0,0,0,0};

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

{ n[i]=n[i-1]*2+1;

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

}

4、以下程序的输出结果是 abc 。

main()

{ char s[]="abcdef";

s[3]= ''\0'';

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

}

5、若有定义语句:char s[100],d[100]; int j=0, i=0;,且s 中已赋字符串,请填 s[i++]

空以实现字符串拷贝。(注:不得使用逗号表达式)

while(s[i]){ d[j]=;j++;}

d[j]=0;

6、下列程序段的输出结果是 Hello

main()

{ c har b[]=”Hello,you”;

b[5]=0;

printf(“%s \n”, b );

}

7、下面程序的输出是 12

main()

{ int arr[10],i,k=0;

相关主题
文本预览
相关文档 最新文档