C语言数组选择题部分做了注释.docx

上传人:b****5 文档编号:6085194 上传时间:2023-01-03 格式:DOCX 页数:22 大小:21.84KB
下载 相关 举报
C语言数组选择题部分做了注释.docx_第1页
第1页 / 共22页
C语言数组选择题部分做了注释.docx_第2页
第2页 / 共22页
C语言数组选择题部分做了注释.docx_第3页
第3页 / 共22页
C语言数组选择题部分做了注释.docx_第4页
第4页 / 共22页
C语言数组选择题部分做了注释.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言数组选择题部分做了注释.docx

《C语言数组选择题部分做了注释.docx》由会员分享,可在线阅读,更多相关《C语言数组选择题部分做了注释.docx(22页珍藏版)》请在冰豆网上搜索。

C语言数组选择题部分做了注释.docx

C语言数组选择题部分做了注释

1、以下定义语句中,错误的是________。

A)inta[]={1,2};B)chara[]={"test"};

C)chars[10]={"test"};D)intn=5,a[n];

D

一维数组的定义方式:

类型说明符数组名[常量表达式]

常量表达式中可以包括常量和符号常量,但不能包含变量。

2、以下对一维数组a进行正确初始化的是__________。

A)inta[10]=(0,0,0,0,0);B)inta[10]={};

C)inta[]={0};D)inta[10]={10*2};

C

1.在定义数组时对数组元素赋以初值。

2.可以只给一部分元素赋值。

3.如果想使一个数组中全部元素值为0,可以写成:

inta[10]={0,0,0,0,0,0,0,0,0,0};

或inta[10]={0};

4.在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度,系统根据后面花括号里的数据决定数组的长度。

3、以下对二维数组a进行正确初始化的是__________。

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

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

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

D)inta[2][]={{1,2},{3,4}};

B

4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

可以用下面4种方法对二维数组初始化:

1.分行给二维数组赋初值。

2.可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。

3.可以对部分元素赋初值。

4、在定义inta[5][4];之后,对a的引用正确的是________。

A)a[2][4]B)a[1,3]

C)a[4][3]D)a[5][0]

C

在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内。

5、以下给字符数组str定义和赋值正确的是________。

A)charstr[10];str={"China!

"};

B)charstr[]={"China!

"};

C)charstr[10];strcpy(str,"abcdefghijkl");

D)charstr[10]={"abcdefghijkl"};

B

不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

只能用strcpy函数将一个字符串复制到另一个字符数组中去。

strcpy(字符数组1,字符串2)

字符数组1必须定义得足够大,以便容纳被复制的字符串。

字符数组1的长度不应小于字符串2的长度。

用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。

6、以下一维数组a的正确定义是________。

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

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

D

7、在执行语句:

inta[][3]={1,2,3,4,5,6};后,

a[1][0]的值是________。

A)4B)1

C)2D)5

A

8、当接受用户输入的含有空格的字符串时,应使用________函数。

A)gets()B)getchar()

C)scanf()D)printf()

A

利用scanf函数输入字符串,系统把空格字符作为输入的字符串之间的分隔符.

9、在定义inta[5][6];

后,数组a中的第10个元素是________。

(设a[0][0]为第一个元素)

A)a[2][5]B)a[2][4]

C)a[1][3]D)a[1][5]

C

10、执行下面的程序段后,变量k中的值为__________。

intk=3,s[2];

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

A)不定值B)33

C)30D)10

A

s[1]没有赋值

11、下列程序执行后的输出结果是__________。

main()

{inta,b[5];

a=0;b[0]=3;

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

A)3,0B)30

C)0,3D)3,不定值

D

b[1])没有赋值

12、设有数组定义:

chararray[]="China";则strlen(array)

的值为________。

A)4B)5

C)6D)7

B

strlen(字符数组)

strlen是测试字符串长度的函数。

函数的值为字符串中的实际长度(不包括′\0′在内)。

13、下列程序执行后的输出结果是__________。

main()

{inti,j,a[3][3];

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

for(j=0;j<=i;j++)a[i][j]=i*j;

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

}

A)2,2B)不定值,2

C)2D)2,0

B

0未赋值未赋值

01未赋值

024

14、设有数组定义:

chararray[]="China";则数组array所占

的存储空间为________。

A)4个字节B)5个字节

C)6个字节D)7个字节

C

用字符串常量初始化字符数组。

当字符串存放在字符数组中时,系统会自动附加一个字符'\0'。

15、设有数组定义:

chararray[10]="China";则数组array所占

的存储空间为________。

A)4个字节B)5个字节

C)6个字节D)10个字节

D

如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符。

16、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值

分别是________。

a[0]a[1]a[2]a[3]a[4]

┌──┬──┬──┬──┬──┐

│10│20│30│40│50│

└──┴──┴──┴──┴──┘

A)20和30B)20和31

C)21和30D)21和31

B

17、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。

main()

{inti,p=0,a[10];

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

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

if(a[i]

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

}

A)i=pB)a[p]=a[i]

C)p=jD)p=i

D

18、以下程序的输出结果是________。

main()

{inti,p=0,a[10]={1,5,9,0,-3,8,7,0,1,2};

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

if(a[i]

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

}

A)-3,4B)0,1

C)9,2D)2,9

A

19、有如下说明:

inta[10]={0,1,2,3,4,5,6,7,8,9};

则数值不为9的表达式是________。

A)a[10-1]B)a[8]

C)a[9]-0D)a[9]-a[0]

B

20、有如下程序

main()

{intn[5]={0,0,0},i,k=3;

for(i=0;i

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

}

该程序的输出结果是________。

A)不确定的值B)4

C)2D)0

D

21、有如下程序

main()

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

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

}

该程序的输出结果是________。

A)18B)19

C)20D)21

A

22、以下程序的输出结果是________。

main()

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

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

}

A)52B)51

C)53D)97

D

23、以下程序的输出结果是________。

main()

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

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

}

A)654B)963

C)951D)987

A

24、以下程序的功能是:

从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,当输入负数时结束。

划线处应分

别填入_________。

main()

{floatx[1000],sum=0.0,ave,a;intn=0,i;

printf("Entermark:

\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+=______;x[n]=a;

n++;

scanf("%f",&a);

}

ave=________;

printf("Output:

\n");

printf("ave=%f\n",ave);

for(i=0;i

if(x[i]

}

A)a和sum/nB)x[n]和sum/n

C)a和sum/iD)a和sum/1000

A

25、下面程序的输出结果是________。

main()

{inta[]={1,8,2,8,3,8,4,8,5,8};

printf("%d,%d\n",a[4]+3,a[4+3]);

}

A)6,6B)8,8

C)6,8D)8,6

C

26、如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};,

则数组a的大小是________。

A)10B)11

C)8D)不定

A

27、以下程序的输出结果是_________。

main()

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

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

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

printf("\n");

}

A)1,5,9,B)1,4,7,

C)3,5,7,D)3,6,9,

C

28、以下程序的输出结果是________。

main()

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

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

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

printf("\n");

}

A)1,5,9,B)1,4,7,

C)3,5,7,D)3,6,9,

A

29、以下程序的输出结果是________。

main()

{inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;

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

for(j=i;j<3;j++)s+=a[i][j];

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

}

A)26B)36

C)19D)22

D

30、下面程序的输出是________。

main()

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

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

}

A)3B)4

C)7D)2

C

31、下面程序的输出是________。

main()

{intaa[3][3]={{2},{4},{6}};

inti,p=aa[0][0];

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

{if(i==0)

aa[i][i+1]=p+1;

else++p;

printf("%d",p);

}

}

A)23B)26

C)3D)36

A

32、以下程序的输出结果是________。

main()

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

intj,s=0;

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

s+=a[j][j];

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

}

A)36B)26

C)22D)20

C

33、以下程序执行后的输出结果是________。

(设a[0][0]是数组a中的第1个元素)

#include

main()

{inta[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11};

inti,j,n=9;

i=n/5;j=n-i*5-1;

printf("NO.%d:

%d,%dis%d\n",n,i,j,a[i][j]);}

A)第n个元素所在的行和列及其该元素的值

B)第n行的最大元素所在的行和列及其最大值

C)第i行的最大元素所在的行和列及其最大值

D)以上都不对

A

34、下面程序统计3个学生,每个学生4门课程的考试成绩,要求输出

每个学生的总成绩、每个学生的平均成绩、12个学生的总成绩。

正确的说法是________。

main()

{intstu[3][4],i,j,t[3];

floatsum=0,a[3];

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

for(j=0;j<4;j++)scanf("%d",&stu[i][j]);

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

{a[i]=0;

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

{sum+=stu[i][j];

t[i]+=stu[i][j];

printf("%-6d",stu[i][j]);}

a[i]=t[i]/3;

printf("%-6.2f\n",a[i]);

}

printf("average=%.2f\n",sum/12.0);

}

A)数组a的每个元素中存放的是每个学生的总成绩

B)数组t的每个元素中存放的是每个学生的平均成绩

C)从键盘上输入成绩的顺序是按课程输入

D)从键盘上输入成绩的顺序是按学生输入

D

数组a的每个元素中存放的是每个学生的平均成绩

数组t的每个元素中存放的是每个学生的总成绩

35、下面程序的功能是________。

#include

#include

main()

{chara[]="clanguage",t;

inti,j,k;k=strlen(a);

for(i=0;i<=k-1;i+=1)

for(j=i+1;j

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf("\n");

}

A)将字符数组a中的元素从小到大排序

B)将字符数组a中的元素从大到小排序

C)求字符数组a中的最大元素

D)将字符数组a中的最小元素

A

36、下面程序的运行以后的结果是________。

main()

{chara[]="clanguage",t;

inti,j,k;k=strlen(a);

for(i=0;i<=k-1;j+=1)

for(j=i+1;j

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf("\n");

}

A)clanguageB)alancuegg

C)egauganlcD)cgalgnaue

B

无限循环

改成main()

{chara[]="clanguage",t;

inti,j,k;k=strlen(a);

for(i=0;i<=k-1;i+=1)

for(j=i+1;j

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf("\n");输出是aacegglnu

37、以下程序的功能是:

将无符号八进制数字构成的字符串转换为十进制整数。

例如,输入的字符串为:

556,则输出十进制整数366,划线处应填________。

#include

main()

{chars[6];intn,j;

gets(s);

if(s[0]!

='\0')n=s[0]-'0';

j=1;

while(s[j++]!

='\0')____________;

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

}

A)n=n*8+s[j]B)n=n*8+s[j-1]-'0'

C)n=n*8+s[j]-'\0'D)n=n*8+s[j-1]-'\0'

B

‘0’的ASCII值是048,

j=1

n=(s[0]-'0')*8+s[1]-‘0’

j=2

n=(s[0]-'0')*82+(s[1]-‘0’)*8+s[2]

38、有如下程序

main()

{charch[2][5]={"6937","8254"};

inti,j;longs=0;

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

for(j=0;ch[i][j]>'\0';j++)

s=10*s+ch[i][j]-'0';

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

}

该程序的输出结果是________。

A)69825B)693825

C)6385D)69378254

D

39、有如下程序

main()

{charch[80];

intj;longs=0;

printf("Enteranumeralstring\n");gets(ch);

for(j=0;ch[j]>'\0';j++)

s=10*s+ch[j]-'0';

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

}

如果运行时,从键盘上输入由数字组成的字符串,

该程序的功能是________。

A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数

C)将字符数组中的小写字母转换成大写

D)将字符数组中的大写字母转换成小写

B

40、有如下程序

main()

{charch[80]="123abcdEFG*&";

intj;longs=0;

puts(ch);

for(j=0;ch[j]>'\0';j++)

if(ch[j]>='a'&&ch[j]<='z')ch[j]=ch[j]-'b'+'B';

puts(ch);}

该程序的功能是________。

A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数

C)将字符数组ch中的小写字母转换成大写

D)将字符数组ch中的大写字母转换成小写

C

ch[j]=ch[j]-'b'+'B';

-'b'+'B'是-32

41、有如下程序

main()

{charch[80]="123abcdEFG*&";

intj;longs=0;

for(j=0;ch[j]>'\0';j++);

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

}

该程序的功能是________。

A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数

C)将字符数组ch中的小写字母转换成大写

D)将字符数组ch中的大写字母转换成小写

A

42、以下程序的输出结果是________。

main()

{chara[10]={'1','2','3',0,'5','6','7','8','9','\0'};

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

}

A)123B)1230

C)123056789D)1230567890

A

'\0'代表ASCII码为0的字符,ASCII为0的字符不是一个可显示的字符,而是一个“空操作符”,即它什么也不做。

用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只起到供辨别的标志。

printf输出时遇到第一个“\0”字符结束输出。

43、以下程序的输出结果是________。

main()

{intn[3][3],i,j;

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

for(j=0;j<3;j++)n[i][j]=i+j;

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

for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];

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

}

A)14B)0

C)6D)值不确定

C

原数组

012

123

234

后数组

012

124

246

44、以下程序的输出结果是________。

main()

{chars[]={"12134211"};intv[4]={0,0,0,0},k,i;

for(k=0;s[k];k++)

{switch(s[k])

{case'1':

i=0;break;

case'2':

i=1;break;

case'3':

i=2;break;

case'4':

i=3;

}

v[i]++;

}

for(k=0;k<4;k++)printf("%d",v[k]);

}

A)4211B)0008

C)4678D)8888

A

45、以下程序输出的结果是________。

#include

main()

{inta[]={1,2,3,4,5},i,j,s=0;

j=1;

for(i=4;i>=0;i--){s=s+a[i]*j;j=j*10;}

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

}

A)s=12345B)s=12345

C)s=54321D)s=54321

A

46、以下程序输出的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1