C语言数组选择题新.docx
《C语言数组选择题新.docx》由会员分享,可在线阅读,更多相关《C语言数组选择题新.docx(21页珍藏版)》请在冰豆网上搜索。
![C语言数组选择题新.docx](https://file1.bdocx.com/fileroot1/2023-1/23/1c71c67d-28ed-4a4c-aa5f-cba29f56d9b0/1c71c67d-28ed-4a4c-aa5f-cba29f56d9b01.gif)
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
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、在定义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
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
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
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
12、设有数组定义:
chararray[]="China";则strlen(array)
的值为________。
A)4B)5
C)6D)7
B
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
14、设有数组定义:
chararray[]="China";则数组array所占
的存储空间为________。
A)4个字节B)5个字节
C)6个字节D)7个字节
C
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]〈a[p])_______________;
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]〈a[p])p=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;iprintf(”%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;iif(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〈stdio。
h>
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++)
{t[i]=0;
for(j=0;j<4;j++)
{sum+=stu[i][j];
t[i]+=stu[i][j];
printf("%-6d”,stu[i][j]);}
a[i]=t[i]/4;
printf(”%—6。
2f\n",a[i]);
}
printf(”average=%。
2f\n",sum/12.0);
}
A)数组a的每个元素中存放的是每个学生的总成绩
B)数组t的每个元素中存放的是每个学生的平均成绩
C)从键盘上输入成绩的顺序是按课程输入
D)从键盘上输入成绩的顺序是按学生输入
D
35、下面程序的功能是________.
#include
#include〈string。
h〉
main()
{chara[]="clanguage",t;
inti,j,k;k=strlen(a);
for(i=0;i〈=k—1;i+=1)
for(j=i+1;jif(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〈k;j+=1)
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
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
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
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
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
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、以下程序输出的结果是________。
#includemain()
{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、以下程序输出的结果是________。
#include
main()
{inta[]={1,2,3,4,5},i,j,s=0;
for(i=0;i〈5;i++)s=s*10+a[i];
printf("s=%d\n”,s);
}
A)s=12345B)s=12345
C)s=54321D)s=54321
A
47、以下程序运行,如果从键盘上输入4<回车>,则输出结果是________。
#include〈stdio。
h〉
main()
{inta[20]={1,2,3,4,5,-1,—2,—3,—4,—5,1,2,3,4,5,-1,-2,—3,—4,—5};
inti,m,n,f=0;
scanf(”%d”,&n);
for(i=0;i〈20;i++)
if(a[i]==n){f=1;m=i;}
if(f!
=0)printf(”%d,%d\n”,n,m+1);
elseprintf("%dnotfound!
\n",n);
}
A)4,4B)4,14
C)4,5D)4,15
B
48、下面的程序运行后,输出结果是________。
main()
{inti,j,a[7][7],x=0;
for(i=0;i〈3;i++)
for(j=0;j<3;j++)a[i][j]=3*j+i;
for(i=2;i<7;i++)x+=a[i][i];
printf("%d\n",x);
}
A)8B)不确定值
C)20D)0
B
49、下面程序运行后,输出结果是________。
#includeh〉
main()
{inta[10]={1,2,3,4,5,6},i,j;
for(i=0;i++〈3;)
{j=a[i];a[i]=a[5-i];a[5—i]=j;}
for(i=0;i<6;i++)printf(”%d”,a[i]);
}
A)654321B)123456
C)154326D)153426
D
50、下面程序的功能是________.
#include〈stdio。
h>
main()
{inta[5][4],i,j,max,row,col;
for(i=0;i<5;i++)for(j=0;j<4;j++)scanf(”%d”,&a[i][j]);
max=a[4][0];row=4;col=0;
for(i=4;i〉=0;i--)
for(j=0;j<4;j++)
if(maxprintf(”max=%d,row=%d,col=%d\n",max,row,col);}
A)求二维数组中第4行中的最大元素及位置
B)求二维数组中的最大元素及位置
C)求二维数组中最小元素及位置
D)求二维数组中每一行的最大元素及位置
B
51、以下程序的输出结果是_____