练习题数组答案Word格式文档下载.docx
- 文档编号:20585570
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:64
- 大小:34.87KB
练习题数组答案Word格式文档下载.docx
《练习题数组答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《练习题数组答案Word格式文档下载.docx(64页珍藏版)》请在冰豆网上搜索。
(D)inta[][3]={{1,0,1},{},{1,1}};
10、以下不能对二维数组a进行正确初始化的语句是(C)
(A)inta[2][3]={0};
(B)inta[][3]={{1,2},{0}};
(C)inta[2][3]={{1,2},{3,4},{5,6}};
(D)inta[][3]={1,2,3,4,5,6};
11、若有说明:
inta[3][4]={0};
则下面正确的叙述是(D)
(A)只有元素a[0][0]可得到初值0
(B)此说明语句不正确
(C)数组a中各元素都可得到初值,但其值不一定为0
(D)数组a中每个元素均可得到初值0
12、若有说明:
inta[][4]={0,0};
则下面不正确的叙述是(D)
(A)数组a的每个元素都可得到初值0
(B)二维数组a的第一维大小为1
(C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
(D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
13、若有说明:
则数组a中各元素(C)
(A)可在程序的运行阶段得到初值0
(B)可在程序的编译阶段得到初值0
(C)不能得到确定的初值
(D)可在程序的编译或运行阶段得到初值0
14、以下各组选项中,均能正确定义二维实型数组a的选项是(C)
(A)floata[3][4];
floata[][4];
floata[3][]={{1},{0}};
floata[3][4];
floata[][]={{0};
{0}};
(C)floata[3][4];
staticfloata[][4]={{0},{0}};
autofloata[][4]={{0},{0},{0}};
(D)floata[3][4];
floata[3][];
floata[][4]
15、下面程序(D)(每行程序前面的数字表示行号)
1voidmain()
2{
3inta[3]={3*0};
4inti;
5for(i=0;
i<
3;
i++)scanf("
a[i]);
6for(i=1;
i++)a[0]=a[0]+a[i];
7printf("
%d\n"
a[0]);
8}
(A)第3行有错误
(B)第7行有错误
(C)第5行有错误
(D)没有错误
16、下面程序(A)(每行程序前面的数字表示行号)//此题本意是第五行应为%f,所以应选C,但是%d无语法上的错误
3floata[10]={0.0};
10;
%f\n"
(A)没有错误
(B)第3行有错误
(D)第7行有错误
17、下面程序中有错误的行是(D)(每行程序前面的数字表示行号)
3inta[3]={1};
5scanf("
a);
a[0]=%d\n"
(A)3
(B)6
(C)7
(D)5
18、下面程序(D)(每行程序前面的数字表示行号)
3inta[3]={0};
4;
(D)第6行有错误
19、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(D)(假设a[0][0]位于数组的第一个位置上。
)
(A)i*m+j
(B)j*m+i
(C)i*m+j-1
(D)i*m+j+1
20、对以下说明语句的正确理解是(B)//其余数组元素初始化为0
inta[10]={6,7,8,9,10};
(A)将5个初值依次赋给a[1]至a[5]
(B)将5个初值依次赋给a[0]至a[4]
(C)将5个初值依次赋给a[6]至a[10]
(D)因为数组长度与初值的个数不相同,所以此语句不正确
21、以下不正确的定义语句是(B)
(A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
(B)inty[5]={0,1,3,5,7,9};
(C)charc1[]={'
1'
'
2'
3'
4'
5'
};
(D)charc2[]={'
\x10'
\xa'
\x8'
22、若有说明:
inta[][3]={1,2,3,4,5,6,7};
则a数组第一维的大小是(B)
(A)2
(B)3
(C)4
(D)无确定值
23、若二维数组a有m列,则在a[i][j]前的元素个数为(B)
(A)j*m+i
(B)i*m+j
24、定义如下变量和数组:
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是(A)
for(k=0;
k<
k++)printf("
a[k][2-k]);
(A)357
(B)369
(C)159
(D)147
25、若有以下程序段:
......
inta[]={4,0,2,3,1},i,j,t;
for(i=1;
5;
i++)
{
t=a[i];
j=i-1;
while(j>
=0&
&
t>
a[j]){a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
则该程序段的功能是(B)
(A)对数组a进行插入排序(升序)
(B)对数组a进行插入排序(降序)
(C)对数组a进行选择排序(升序)
(D)对数组a进行选择排序(降序)
26、以下正确的定义语句是(D)
(A)inta[1][4]={1,2,3,4,5};
(B)floatx[3][]={{1},{2},{3}};
(C)longb[2][3]={{1},{1,2},{1,2,3}};
(D)doubley[][3]={0};
27、下面程序的运行结果是(C)
voidmain()
inta[6][6],i,j;
for(i=1;
6;
for(j=1;
j<
j++)
a[i][j]=(i/j)*(j/i);
{
printf("
%2d"
a[i][j]);
printf("
\n"
);
}
(A)11111
11111
(B)00001
00010
00100
01000
10000
(C)10000
00001
(D)10001
01010
10001
28、下面程序的运行结果是(C)
inta[6],i;
a[i]=9*(i-2+4*(i>
3))%5;
a[i]);
(A)-40404
(B)-40403
(C)-40443
(D)-40440
29、下面是对s的初始化,其中不正确的是(D)
(A)chars[5]={"
abc"
(B)chars[5]={'
a'
b'
c'
(C)chars[5]="
"
;
(D)chars[5]="
abcdef"
30、下面程序段的运行结果是(B)
charc[5]={'
\0'
printf("
%s"
c);
(A)'
'
(B)ab
(C)abc
(D)abc
31、对两个数组a和b进行如下初始化
chara[]="
ABCDEF"
charb[]={'
A'
B'
C'
D'
E'
F'
则以下叙述正确的是(D)
(A)a与b数组完全相同
(B)a与b长度相同
(C)a和b中都存放字符串
(D)a数组比b数组长度长
32、有两个字符数组a、b,则以下正确的输入语句是(B)
(A)gets(a,b);
(B)scanf("
%s%s"
a,b);
(C)scanf("
a,&
b);
(D)gets("
a"
),gets("
b"
33、有字符数组a[80]和b[80],则正确的输出语句是(D)
(A)puts(a,b);
(B)printf("
%s,%s"
a[],b[]);
(C)putchar(a,b);
(D)puts(a),puts(b);
34、下面程序段的运行结果是(D)
chara[7]="
charb[4]="
ABC"
strcpy(a,b);
%c"
a[5]);
(A)空格
(B)\0
(C)e
(D)f
35、有下面的程序段
chara[3],b[]="
China"
a=b;
a);
则(D)
(A)运行后将输出China
(B)运行后将输出Ch
(C)运行后将输出Chi
(D)编译出错
36、下面程序段的运行结果是(B)
charc[]="
\t\v\\\0will\n"
strlen(c));
(A)14
(C)9
(D)字符串中有非法字符,输出值不确定
37、判断字符串a和b是否相等,应当使用(D)
(A)if(a==b)
(B)if(a=b)
(C)if(strcpy(a,b))
(D)if(strcmp(a,b))
38、判断字符串s1是否大于字符串s2,应当使用(D)
(A)if(s1>
s2)
(B)if(strcmp(s1,s2))
(C)if(strcmp(s2,s1)>
0)
(D)if(strcmp(s1,s2)>
39、下面程序段是输出两个字符串中对应相等的字符。
请选择填空①(A)
charx[]="
programming"
chary[]="
Fortran"
inti=0;
while(x[i]!
='
y[i]!
if(x[i]==y[i])printf("
①);
elsei++;
(A)x[i++]
(B)y[++i]
(C)x[i]
(D)y[i]
40、下面描述正确的是(D)
(A)两个字符串所包含的字符个数相同时,才能比较字符串
(B)字符个数多的字符串比字符个数少的字符串大
(C)字符串"
STOP"
与"
STOP"
相等
(D)字符串"
That"
小于字符串"
The"
41、下述对C语言字符数组的描述中错误的是(C)
(A)字符数组可以存放字符串
(B)字符数组的字符串可以整体输入、输出
(C)可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值
(D)不可以用关系运算符对字符数组中的字符串进行比较
42、有已排好序的字符串a,下面的程序是将字符串s中的每个字符按升序的规律插入到a中。
请选择填空①(B)②(B)
#include<
stdio.h>
chara[20]="
cehiknqtw"
chars[]="
fbla"
inti,k,j;
for(k=0;
s[k]!
k++)
j=0;
while(s[k]>
=a[j]&
a[j]!
0'
)j++;
for(①;
)②;
a[j]=s[k];
puts(a);
①(A)i=strlen(a)+k;
i>
=j;
i--
(B)i=strlen(a);
(C)i=j;
i<
=strlen(a)+k;
i++
(D)i=j;
=strlen(a);
②(A)a[i]=a[i+1]
(B)a[i+1]=a[i]
(C)a[i]=a[i-1]
(D)a[i-1]=a[i]
43、下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中,请选择填空①(A)②(D)③(A)
chara[]="
acegikm"
charb[]="
bdfhjlnpq"
charc[80],*p;
inti=0,j=0,k=0;
while(a[i]!
b[j]!
if(a[i]<
b[j]){①}
else{②}
k++;
c[k]='
if(③)p=b+j;
elsep=a+i;
strcat(c,p);
puts(c);
①(A)c[k]=a[i];
i++;
(B)c[k]=a[j];
(C)c[k]=a[i];
j++;
(D)c[k]=a[j];
②(A)c[k]=b[i];
(B)c[k]=b[j];
(C)c[k]=b[i];
(D)c[k]=b[j];
③(A)a[i]=='
(B)a[i]!
(C)a[i-1]=='
(D)a[i-1]1='
44、下面程序的功能是将字符串s中所有的字符c删除。
chrs[80];
inti,j;
gets(s);
for(i=j=0;
s[i]!
if(s[i]!
)①;
s[j]='
puts(s);
(A)s[j++]=s[i]
(B)s[++j]=s[i]
(C)s[j]=s[i];
j++
(D)s[j]=s[i]
45、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。
请选择填空①(B)
chars[80],c1,c2='
'
inti=0,num=0;
while(s[i]!
c1=s[i];
if(i==0)c2='
elsec2=s[i-1];
if(①)num++;
i++;
printf("
Thereare%dwords.\n"
num);
(A)c1=='
&
c2=='
(B)c1!
(C)c1=='
c2!
(D)c1!
46、下面程序的运行结果是(A)
charch[7]={"
12ab56"
inti,s=0;
for(i=0;
ch[i]>
ch[i]<
9'
i+=2)
s=10*s+ch[i]-'
s);
(A)1
(B)1256
(C)12ab56
(D)1
2
5
6
47、当运行以下程序时,从键盘输入:
aabb<
CR>
ccdd<
(<
表示回车),则下面程序的运行结果是(A)//由于数组a4大小为5,因此将ccdd输入a4时结束符越界,运行时会出现错误
chara1[5],a2[5],a3[5],a4[5];
scanf("
a1,a2);
gets(a3);
gets(a4);
puts(a1);
puts(a2);
puts(a3);
puts(a4);
(A)aa
bb
ccdd
(B)aa
cc
dd
(C)aa
ee
(D)aabb
48、当运行以下程序时,从键盘输入:
ab<
c<
def<
表示回车),则下面程序的运行结果是(D)
#defineN6
charc[N];
inti=0;
for(;
N;
c[i]=getchar(),i++);
i++)putchar(c[i]);
(A)abcdef
(B)a
b
c
d
e
f
(C)b
(D)ab
49、当运行以下程序时,从键盘输入:
AhaMAAha<
(<
表示回车),则下面程序的运行结果是(A)
chars[80],c='
if(s[i]==c)s[i]=s[i]-32;
elseif(s[i]==c-32)s[i]=s[i]+32;
put(s);
(A)ahAMa
(B)AhAMa
(C)AhAMaahA
(D)ahAMaahA
50、下面程序的运行结果是(D)
sring.h>
chara[80]="
AB"
b[80]="
LMNP"
strcat(a,b);
while(a[i++]!
)b[i]=a[i];
puts(b);
(A)LB
(B)ABLMNP
(C)AB
(D)LBLMNP
51、下面程序的运行结果是(B)
charstr[]="
SSSWLIA"
c;
intk;
for(k=2;
(c=str[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 练习题 数组 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)