数组和结构题库Word格式.docx
- 文档编号:19061332
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:29
- 大小:54.51KB
数组和结构题库Word格式.docx
《数组和结构题库Word格式.docx》由会员分享,可在线阅读,更多相关《数组和结构题库Word格式.docx(29页珍藏版)》请在冰豆网上搜索。
D.inta[][]={{3,2,1},{1,2,3}};
5.以下函数的功能是:
通过键盘输入数据,为数组中的所有元素赋值。
#defineN10
voidarrin(intx[N])
{
inti=0;
while(i<
N)
scanf("
%d"
,);
}
在下划线处应填入的是。
(2003年4月)
A)x+iB)&
x[i+1]C)x+(i++)D)&
x[++i]
C
6.下列描述中不正确的是。
A)字符型数组中可以存放字符串
B)可以对字符型数组进行整体输入、输出
C)可以对整型数组进行整体输入、输出
D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
7.以下程序的输出结果是。
#include<
stdio.h>
voidmain()
charb[30];
strcpy(&
b[0],"
CH"
b[1],"
DEF"
b[2],"
ABC"
printf("
%s\n"
b);
A)CHDEFB)DEFABCC)CDABCD)CHABC
8.下面能正确定义一维数组的选项是。
A)intnum[]B)#defineN100C)intnum[0..100]D)intN=100
intnum[N]intnum[N]
B
9.下面正确的数组定义语句是。
A)inty[1][4]={1,2,3,4,5};
B)floatx[3][]={{1},{2},{3}};
C)longs[2][3]={{1},{1,2},{1,2,3}};
D)doublet[][3]={0};
10.执行下列程序时,输入123<
空格>
456<
789<
回车>
,输出结果是。
chars[100];
intc,i;
scanf("
%c"
&
c);
i);
s);
printf("
%c,%d,%s\n"
c,i,s);
A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456
11.下面程序的输出结果为()。
inta[3],i,j,k=2;
for(i=0;
i<
3;
i++)
a[i]=0;
k;
for(j=0;
j<
j++)
a[j]=i*j;
%d\n"
a[2]);
A)0B)1C)2D)3
A
12.下面程序的输出结果是()。
inti,j,k;
charstr[5];
5;
i++)str[i]='
A'
;
k=4;
str[j]=str[i]+32;
%c\n"
str[k]);
A)aB)AC)BD)不确定的值
13.下面程序的输出结果是()。
chars[4][20];
inti;
%s%s"
s[0],s[1]);
gets(s[2]);
gets(s[3]);
4;
puts(s[i]);
输入数据如下:
(此处<
代表回车符)
aabb<
ccdd<
A)aaB)aaC)aaD)aabb
bbbbbbcc
ccccdddd
ccdddd
14.假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};
则数组x在内存中所占字节数是。
(A)3(B)6(C)10(D)20
15.以下程序的输出结果是。
charst[20]="
hello\0\t\\"
%d%d\n"
strlen(st),sizeof(st));
(A)99(B)520(C)1320(D)2020
16.以下对结构体类型变量td的定义中,错误的是。
(A)typedefstructaa(B)structaa
{intn;
floatm;
}AA;
}td;
AAtd;
structaatd;
(C)struct(D)struct
}aa;
17.下列程序的输出结果为。
voidmain()
intk=0,i,s[]={1,-9,7,2,-10,3};
for(i=0;
6;
if(s[i]>
s[k])
k=i;
\n%d\n"
k);
(A)4(B)2(C)3(D)1
18.有如下定义:
structdate{intyear,month,day;
structworklist{charname[20];
charsex;
structdatebirthday;
}personone;
对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。
(A)year=1968(B)birthday.year=1968
(C)personone.birthday.year=1968(D)personone.year=1968
19.若程序中有如下的说明和定义:
structexep
{intx,y;
structexepx,y;
…
则会发生的情况是。
(A)编译时出错
(B)能通过编译、连接、执行
(C)能通过编译但连接出错
(D)能通过编译、连接,但不能执行
20.设有以下语句
typedefstructS
{intg;
charh;
}T;
则下面叙述中正确的是。
A)可用S定义结构体变量B)可以用T定义结构体变量
C)S是struct类型的变量D)T是structS类型的变量
21.有结构定义如下:
struct
intk:
2;
int:
0;
unsignedintm:
}st;
那么变量st所占用的字节数是()。
A.3B.2C.1D.4
22.以下对结构类型变量的定义中,不正确的是。
A)typedefstructaaB)#defineAAstructaa
AAAA{intn;
floatm;
}tdl;
AAtdl;
C)structD)struct
structaatd1;
23.当执行下面的程序时,如果输入ABC,则输出结果是。
(2001年4月)
charss[10]="
12345"
gets(ss);
strcat(ss,"
6789"
ss);
A)ABC6789B)ABC67C)12345ABC6D)ABC456789
24.给出以下定义
charx[]="
abcdefg"
chary[]={'
a'
'
b'
c'
d'
e'
f'
g'
};
则正确的叙述为。
A)数组x和数组y等价
B)数组x和数组y的长度相同
C)数组x的长度大于数组y的长度
D)数组x的长度小于数组y的长度
25.下面程序的输出是
A)0B)1C)3D)6
#include<
voidmain()
structcmplx{
intx;
inty;
}cnum[2]={1,3,2,7};
cnum[0].y/cnum[0].x*cnum[1].x);
26.下列程序的输出结果是
A)5B)6C)7D)8
structabc
inta,b,c;
structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
%d\n"
t);
27.设有以下说明语句
structex
intx;
floaty;
charz;
}example;
则下面的叙述中不正确的是
A)struct是结构体类型的关键字B)example是结构体类型名
C)x,y,z都是结构体成员名D)structex是结构体类型名
28.设有如下说明
typedefstruct
intn;
charc;
doublex;
}STD;
则以下选项中,能正确定义结构体数组并赋初值的语句是
A)STDtt[2]={{1,'
62},{2,'
B'
75}};
B)STDtt[2]={1,"
A"
62},2,"
B"
75};
C)structtt[2]={{1,'
},{2,'
}};
D)structtt[2]={{1,"
62.5},{2,"
75.0}};
29.有以下程序
inti,test,p[17],head;
16;
p[i]=i+1;
p[16]=0;
test=0;
while(test!
=p[test])
{
for(i=1;
{
head=test;
test=p[test];
}
p[head]=p[test];
test=p[head];
}
\n%5d"
test);
程序执行后的输出结果是_______。
A)1,2,3B)2,3,4
C)10D)4
30.有以下程序
#include<
intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
{
=i;
j++)printf("
%4c"
'
for(j=_____;
%4d"
num[i][j]);
printf("
\n"
若要按以下形式输出数组右上半三角
1234
678
1112
16
则在程序下划线处应填入的是______。
A)i-1B)iC)i+1D)4-i
31.有以下程序
intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<
7)
if(p[i]%2)
j+=p[i];
j);
程序运行后的输出结果是______。
A)42B)45C)56D)60
32.有以下程序
charp[]={'
'
},q[]="
abc"
%d%d\n"
sizeof(p),sizeof(q));
A)44B)33C)34D)43
33.有以下程序
charp[]={'
},q[10]={'
strlen(p),strlen(q));
以下叙述中正确的是______。
A)在给p和q数组置初值时,系统会自动添加字符串结束符,故长度都为3
B)由于p数组中没有字符串结束符,长度不能确定;
但q数组中字符串长度为3
C)由于q数组中没有字符串结束符,长度不能确定;
但p数组中字符串长度为3
D)由于p和q数组中都没有字符串结束符,故长度都不能确定
34.有以下程序
chara[7]="
a0\0a0\0"
inti,j;
i=sizeof(a);
j=strlen(a);
i,j);
程序运行后的输出结果是______。
A)22B)76C)72D)62
35.设有如下说明
typedefstructST
{longa;
intb;
charc[2];
}NEW;
则下面叙述中正确的是______。
A)以上的说明形式非法B)ST是一个结构体类型
C)NEW是一个结构体类型D)NEW是一个结构体变量
36.以下对结构体类型变量td的定义中,错误的是______。
A)typedefstructaaB)structaa
{intn;
}AA;
AAtd;
C)structD)struct
}aa;
structaatd;
37.表达式strcmp("
box"
"
bottle"
)的值是。
A)正整数B)负整数C)0D)不确定的数
二、填空题
1.有如下程序段:
chars[]="
SSSWiLTECH1\1\11W\1WALLMP1"
intj;
charch;
for(j=2;
(ch=s[j])!
='
\0'
switch(ch)
{
case'
:
putchar('
continue;
1'
break;
case1:
while((ch=s[++j])!
\n'
&
ch!
case9:
putchar('
#'
E'
L'
continue;
default:
putchar(ch);
*'
此程序段的输出结果是。
SwiTCH*#
2.定义结构类型如下:
structa
chars[20];
intm;
请使用此类型定义一个结构变量b1,并在定义时给各成员变量赋初值,使c的值为‘n’,s中存放字符串“person”,m的值为3:
。
structab1={'
n'
"
person"
3};
3.以下sum函数的功能是计算下列级数之和。
(2004年4月)
s=1+x+x2/2!
+x3/3!
+……+xn/n!
请给函数中的各变量正确赋初值。
doublesum(doublex,intn)
doublea,b,s;
for(i=1;
=n;
a=a*x;
b=b*i;
s=s+a/b;
returns;
a=b=s=1.0
4.以下程序用来输出结构体变量ex所占存储单元的字节数:
structst
charname[20];
doublescore;
structstex;
printf(“exsize:
%d\n”,sizeof());
ex或structst
5.由25人围坐成圆圈,先从任意一人出发,用1到25顺时针依次编号,然后从1号开始顺时针报数(1、2、3、…),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号。
#include<
inta[26],j,n,count;
for(=1;
=25;
j++)a[j]=j;
j=1;
count=0;
n=【1】;
do
if(a[j]!
=0)
n++;
if(n%5==0)
【2】;
if(count==24)printf("
%d\n,"
count++;
j++;
if(j>
25)j=1;
}while(【3】);
【1】0【2】a[j]=0【3】count<
25
6.有一个已排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。
采用的算法是:
假设排序为从小到大,对输入的数,检查它在数组中哪一个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。
请填空。
#defineN100
floata[N+1],x;
inti,p;
printf(“输入已排好序的数列:
”);
for(i=0;
N;
scanf("
%f"
a[i]);
printf(“输入要插入的数:
x);
for(i=0,P=N;
i++)
if(x<
a[i])/*找到一个大于x的元素a[p],即在a[p]之前插入x*/
1;
break;
for(i=N-1);
2;
i--)/*将a[p]~a[N-1]元素后移一个位置*/
a[i+1]=a[i];
a[p]=x;
/*在a[p]处插入x*/
3;
i++)/*输出a数组的所有元素*/
printf("
%8.2f"
a[i]);
if(i%5==0)printf(“\n”);
1p=i2i>
=p3i<
=N
7.以下程序运行后的输出结果是。
inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(j=i+1;
j++)a[j][i]=0;
a[i][j]);
123
056
009
8.下面程序对输入的字符串中每一个数字出现的次数进行计数。
请补全程序。
{intj,ch,【1】;
for(j=0;
10;
++j)digit[j]=0;
while((ch=getchar())!
)
if(ch>
='
0'
ch<
9'
)【2】;
for(j=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 结构 题库