二级C语言笔试真题及答案Word格式文档下载.docx
- 文档编号:3948860
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:16
- 大小:20.62KB
二级C语言笔试真题及答案Word格式文档下载.docx
《二级C语言笔试真题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。
A)'
cd'
B)0.1e+6C)"
\a"
D)'
\011'
(14)以下选项中正确的定义语句是()。
A)doublea;
b;
B)doublea=b=7;
C)doublea=7,b=7;
D)double,a,b;
(15)以下不能正确表示代数式2ab
cd
的C语言表达式是()。
A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d
(16)C源程序中不能表示的数制是()。
A)二进制B)八进制C)十进制D)十六进制
(17)若有表达式(w)?
(--x):
(++y),则其中与w等价的表达式是()。
A)w==lB)w==0C)w!
=lD)w!
=0
(18)执行以下程序段后,w的值为()。
intw='
A'
x=14,y=15;
w=((x||y)&
&
(w<
'
a'
));
A)-1B)NULLC)lD)0
(19)若变量已正确定义为int型,要通过语句scanf("
%d,%d,%d"
&
a,&
b,&
c);
给a赋值
1、给b赋值2、给c赋值3,以下输入形式中错误的是(ò
代表一个空格符)()。
A)ò
ò
1,2,3<
回车>
B)1ò
2ò
3<
C)1,ò
2,ò
D)1,2,3<
(20)有以下程序段
inta,b,c;
a=10;
b=50;
c=30;
if(a>
b)a=b,b=c;
c=a;
printf("
a=%db=%dc=%d\n”,a,b,c);
程序的输出结果是()。
A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50
(21)若有定义语句:
intm[]={5,4,3,2,1},i=4;
,则下面对m数组元素的引用中错误的是
()。
A)m[--i]B)m[2*2]C)m[m[0]]D)m[m[i]]
(22)下面的函数调用语句中func函数的实参个数是()。
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
A)3B)4C)5D)8
(23)若有定义语句:
doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;
则错误引用x数组元素的是
A)*pB)x[5]C)*(p+1)D)*x
(24)若有定义语句:
chars[10]="
1234567\0\0"
;
,则strlen(s)的值是()。
A)7B)8C)9D)10
(25)以下叙述中错误的是()。
A)用户定义的函数中可以没有return语句
B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return语句,则应当定义函数为void类型
D)函数的return语句中可以没有表达式
(26)以下关于宏的叙述中正确的是()。
A)宏名必须用大写字母表示
B)宏定义必须位于源程序中所有语句之前
C)宏替换没有数据类型限制
D)宏调用比函数调用耗费时间
(27)有以下程序
#include<
stdio.h>
main()
{inti,j;
for(i=3;
i>
=l;
i--)
{for(j=1;
j<
=2;
j++)printf("
%d"
i+j);
\n"
);
}
程序的运行结果是()。
A)234B)432
345543
C)23D)45
3434
4523
(28)有以下程序
#include<
{intx=l,y=2,z=3;
if(x>
y)
if(y<
z)printf("
++z);
elseprintf("
++y);
%d\n"
x++);
A)331B)41C)2D)1
(29)有以下程序
#include<
{inti=5;
do
{if(i%3=1)
if(i%5==2)
{printf("
*%d"
i);
break;
i++;
}while(i!
=0);
二级C语言程序设计试卷第4页(共9页)
A)*7B)*3*5C)*5D)*2*6
(30)有以下程序
intfun(inta,intb)
{if(b==0)returna;
elsereturn(fun(--a,--b));
fun(4,2));
A)1B)2C)3D)4
(31)有以下程序
stdlib.h>
intfun(intn)
{int*p;
p=(int*)malloc(sizeof(int));
*p=n;
return*p;
{inta;
a=fun(10);
printf("
a+fun(10));
A)0B)10C)20D)出错
(32)有以下程序
voidfun(inta,intb)
{intt;
t=a;
a=b;
b=t;
{intc[10]={1,2,3,4,5,6,7,8,9,0),i;
for(i=0;
i<
10;
i+=2)fun(c[i],c[i+l]);
i++)printf("
%d,"
c[i]);
A)l,2,3,4,5,6,7,8,9,0,B)2,l,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)
0,1,2,3,4,5,6,7,8,9,
(33)有以下程序
structst
{intx,y;
)data[2]={l,10,2,20};
{structst*p=data;
p->
y);
(++p)->
x);
A)10,1B)20,1C)10,2D)20,2
(34)有以下程序
voidfun(inta[],intn)
{inti,t;
for(i=0;
n/2;
i++){t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
{intk[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;
8;
k[i]);
A)345678B)876543C)1098765D)321678
(35)有以下程序
#defineN4
voidfun(inta[][N],intb[])
{inti;
N;
i++)b[i]=a[i][i];
{intx[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},y[N],i;
fun(x,y);
y[i]);
A)l,2,3,4,B)1,0,7,0,C)1,4,5,9,D)3,4,8,10,
(36)有以下程序
intfun(int(*s)[4],intn,intk)
{intm,i;
m=s[0][k];
for(i=l;
n;
i++)if(s[i][k]>
m)m=s[i][k];
returnm;
二级C语言程序设计试卷第6页(共9页)
{inta[4][4]={{1,2,3,4),{11,12,13,14},{2l,22,23,24},{31,32,33,34}};
fun(a,4,0));
A)4B)34C)31D)32
(37)有以下程序
{structSTU{charname[9];
charsex;
doublescore[2];
};
structSTUa={"
Zhao"
'
m'
85.0,90.0),b={"
Qian"
f'
95.0,92.0);
b=a;
%s,%c,%2.0f,%2.0f\n"
b.name,b.sex,b.score[0],b.score[1]);
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90
(38)假定已建立以下链表结构,且指针p和q已指向如图所示的结点:
headabc
datanext
↑p↑q
则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是()。
A)(*p).next=(*q).next;
free(p);
B)p=q->
next;
free(q);
C)p=q;
D)p->
next=q->
(39)有以下程序
{chara=4;
a=a<
<
1);
A)40B)16C)8D)4
(40)有以下程序
{FILE*pf;
char*s1="
China"
*s2="
Beijing"
pf=fopen("
abc.dat"
"
wb+"
fwrite(s2,7,l,pf);
rewind(pf);
fwrite(s1,5,1,pf);
fclose(pf);
以上程序执行后abc.dat文件的内容是()。
B)ChinaB)ChinangC)ChinaBeijingD)BeijingChina
二级C语言程序设计试卷第7页(共9页)
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)对下列二叉树进行中序遍历的结果【1】。
A
BC
DEF
XYZ
(2)按照软件测试的一般步骤,集成测试应在【2】测试之后进行。
(3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的
控制和管理。
(4)数据库设计包括概念设计、【4】和物理设计。
(5)在二维表中,元组的【5】不能再分成更小的数据项。
(6)设变量a和b已正确定义并赋初值。
请写出与a-=a+b等价的赋值表达式【6】。
(7)若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:
a=7
b=9
请完成输出语句:
printf("
【7】"
a,b);
。
(8)以下程序的输出结果是【8】。
{inti,j,sum;
i>
=1;
i--)
{sum=0;
for(j=1;
j<
=i;
j++)sum+=i*j;
sum);
(9)以下程序的输出结果是【9】。
{intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3;
j;
j--)
{switch(j)
{case1:
case2:
*p++);
case3:
*(--p));
二级C语言程序设计试卷第8页(共9页)
(10)以下程序的输出结果是【10】。
#defineN5
intfun(int*s,inta,intn)
{intj;
*s=a;
j=n;
while(a!
=s[j])j--;
returnj;
{ints[N+1];
intk;
for(k=l;
k<
=N;
k++)s[k]=k+l;
fun(s,4,N));
(11)以下程序的输出结果是【11】。
intfun(intx)
{staticintt=0;
return(t+=x);
{ints,i;
i<
=5;
i++)s=fun(i);
s);
(12)以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出,请填空。
4
37
269
15810
{intx[4][4],n=0,i,j;
for(j=0;
4;
j++)
=j;
【12】){n++;
x[i][j]=【13】;
i++)
{for(j=0;
j++)printf("
%3d"
x[i][j]);
(13)以下程序的功能是:
通过函数func输入字符并统计输入字符的个数。
输入时用字符
@作为输入结束标志。
请填空。
long【14】;
二级C语言程序设计试卷第9页(共9页)
{longn;
n=func();
n=%ld\n"
n);
longfunc()
{longm;
for(m=0;
getchar()!
='
@'
【15】);
retumm;
2008年9月笔试卷参考答案
一、选择题
(1)B)
(2)D)(3)C)(4)A)(5)D)(6)B)(7)A)(8)B)
(9)C)(10)D)(11)C)(12)D)(13)A)(14)C)(15)D)(16)A)
(17)D)(18)C)(19)B)(20)A)(21)C)(22)A)(23)B)(24)A)
(25)B)(26)C)(27)D)(28)D)(29)A)(30)B)(31)C)(32)A)
(33)C)(34)D)(35)B)(36)C)(37)D)(38)D)(39)C)(40)B)
二、填空题
(1)
【1】DBXEAYFZC
(2)
【2】单元
(3)
【3】过程(4)
【4】逻辑设计
(5)
【5】分量(6)
【6】a=a-(a+b)或(a=-b)
(7)
【7】a=%d\nb=%d(8)
【8】1
(9)
【9】9911(10)
【10】3
(11)
【11】15(12)
【12】i--
(13)
【13】n(14)
【14】func()
(15)
【15】m++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 答案