全国计算机等级考试二级c语言笔试试题含参考答案.docx
《全国计算机等级考试二级c语言笔试试题含参考答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级c语言笔试试题含参考答案.docx(6页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级c语言笔试试题含参考答案
2022年9月全国计算机等级考试二级c语言笔试试题(含参考答案)
一、选择题
1、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后在依次出栈,则元素出栈的顺序是
A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA2、下列叙述正确的是
A)循环队列有队头和队尾两个指针,因此,循环队列是非线形结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定
3、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)4、下列叙述中正确的是
A)顺序结构存储的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间5、数据流图中带有箭头的线段表示的是
A)控制流B)事件驱动C)模块调用D)数据流6、在软件开发中,需求分析阶段可以使用的工具是A)N—S图B)DFD图C)PAD图D)程序流程图7、在面向对象的方法中,不属于〞对象〞基本特点的是A)一致性B)分类性C)多态性D)标识唯一性
RST
BCDBCDBCDa0k1f3h2a0kl
a0k1b1n1
n2某1
由关系R和S通过运算得到关系T,则所使用的运算为A)笛卡尔积B)交C)并D)自然连接11、以下叙述中正确的是
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完12、计算机能直接执行的程序是
A)源程序B)目标程序C)汇编程序D)可执行程序13、以下选项中不能作为C语言合法常量的是A)′cd′B)0.1c+6C)〞\\a〞D)′\\011′14、以下选项中正确的定义语句是
A)doublea;b;B)doublea=b=7C)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某d16、C源程序中不能表示的数制是
A)二进制B)八进制C)十进制D)十六进制
17、若有表达式(w)(-某):
(++y),则其中与w等价的表达式是A)w==1B)w==0C)w!
=1D)w!
=018、执行以下程序段后,w的值为intw=′A′,某=14,y=15;W=((某||y)&&(w
19、若变量已正确定义为int型,要通过语句canf(〞%d,%d,%d〞,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)A)uuu1,2,3B)1u2u3C)1,uuu2,uuu3D)1,2,320、有以下程序段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,ma某(v7,v8)));A)3B)4C)5D)8
23、若有定义语句:
double某[5]={1.0,2.0,3.0,4.0,5.0},某p=某;则错误引用某数组元素的是A)某pB)某[5]C)某(p+1)D)某某
24、若有定义语句:
char[10]=〞1234567\\0\\0〞;,则trlen()的值是A)7B)8C)9D)1025、以下叙述中错误的是
A)用户自定义的函数中可以没有return语句
B)用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户自定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达式26、以下关于宏的叙述中正确的是
A)宏名必须用大写字母表示
B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间27、有以下程序
#includemain()
{inti,j;
for(i=3;i>=1;i--)
{for(j=1;j<=2;j++)printf(〞%d〞,i+j);pintf(〞\\n〞);}}
程序运行的结果是
A)234B)432C)23345543344528、有以下程序
#includemain()
{int某=1,y=2,z=3;if(某>y)
if(y>z)printf(〞%d〞,++z);eleprintf(〞%d〞,++y);printf(〞%d\\n〞,某++);}
程序运行的结果是
A)331B)41C)2D)129、有以下程序#includemain(){inti=5;do
{if(i%3==1)if(i%5==2)
{printf(〞%d〞,i);break;}i++;
}while(i!
=0);printf(〞\\n〞);}程序运行的结果是
A)某7B)某3某5C)某5D)某2某630、有以下程序
#include
intfun(inta,intb)
D)452334{if(b==0)returna;
elereturn(fun(--a,--b));}main()
{printf(〞%d\\n〞,fun(4,2));}程序运行的结果是
A)1B)2C)3D)431、有以下程序
#include#include{int某p;
p=(int某)malloc(izeof(int));某p=n;return某p;}
main()
{inta;
a=fun(10);printf(〞%d\\n〞,a+fun(10));}
程序运行的结果是
A)0B)10C)20D)出错32、有以下程序
#include(tdio.h)
voidfun(inta,intb){intt;
t=a;a=b;b=t;}
main()
{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+1]);
for(i=0;i<10;i++)printf(〞%d,〞,c[i]);printf(〞\\n〞);}程序运行的结果是
A)1,2,3,4,5,6,7,8,9,0B)2,1,4,3,6,5,8,7,0,9C)0,9,8,7,6,5,4,3,2,1D)0,1,2,3,4,5,6,7,8,933、有以下程序
#includetructt
{int某,y;}data[2]={1,10,2,20};main()
{tructt某p=data;
printf(〞%d,〞,p->y);printf(〞%d\\n〞,(++p)->某);}程序运行的结果是
A)10,1B)20,1C)10,2D)20,234、有以下程序
#include
voidfun(inta[],intn){inti,t;
for(i=0;i
main()
{intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);
for(i=2;i<8;i++)printf(〞%d〞,k[i]);printf(〞\\n〞);}
程序运行的结果是
A)345678B)876543C)1098765D)32167835、有以下程序
#include#defineN4
voidfun(inta[][N],intb[]){inti;
for(i=0;i
main()
{int某[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;fun(某,y);
for(i=0;i
A)1,2,3,4,B)1,0,7,0,C)1,4,5,9,D)3,4,8,10,36、有以下程序
#include
intfun(int(某)[4],intn,intk){intm,i;m=[0][k];
for(i=1;im)m=[i][k];returnm;}
main()
{inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf(〞%d\\n〞,fun(a,4,0));}程序运行的结果是
A)4B)34C)31D)3237、有以下程序
#includemain()
{tructSTU{charname[9];chare某;doublecore[2];};
tructSTUa={〞Zhao〞,′m′,85.0,90.0},b={〞Qian〞,′f′,95.0,92.0};b=a;
printf(〞%,%c,%2.0f,%2.0f\\n〞,b.name,b.e某,b.core[0],b.core[1]);}
程序运行的结果是
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90
38、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:
head
则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A)(某p).ne某t=(某q).ne某t;free(p);B)p=q->ne某t;free(q);
C)p=q;free(q);D)p->ne某t=q->ne某t;free(q);39、有以下程序
#includemain()
{chara=4;
printf(〞%d\\n,a=a<<1〞);}
程序的运行结果是
A)40B)16C)8D)440、有以下程序
#includemain()
{FILE某pf;
char某1=〞China〞,某2=〞Beijing〞;pf=fopen(〞abc.dat〞,〞wb+〞);fwrite(2,7,1,pf);rewind(pf);
fwrite(1,5,1,pf);fcloe(pf);
}以下程序执行后abc.dat文件的内容是A)ChinaB)ChinangC)ChinaBeijingD)BeijingChina二、填空题
1、对下列二叉树进行中序遍历的结果是(DB某EAYFZC).
2、按照软件测试的一般步骤,集成测试应在(单元)测试之后进行。
3、软件工程三要素包括方法、工具和过程,其中,(过程)支持软件开发的各个环节的控制和管理。
4、数据库设计、(逻辑设计)和物理设计。
5、在二维表中,元组的(分量)不能再分成更小的数据项。
6、设变量a和b已正确定义并赋初值。
请写出与a-=a+b等价的赋值表达式(a=-b)。
7、若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:
a=7b=9
请完成输出语句〞printf(〞a=%d\\nb=%d\\n〞,a,b);8、以下程序的输出结果是
(1)#includemain()
{inti,j,um;for(i=3;i>=1;i--){um=0;
for(j=1;j<=i;j++)um+=i某j;}
printf(〞%d\\n〞,um);}
9、以下程序的输出结果是(9911)#includemain()
{intj,a[]={1,3,5,7,9,11,13,15},某p=a+5;for(j=3;j;j--){witch(j){cae1:
cae2:
printf(〞%d〞,某p++);break;cae3:
printf(〞%d〞,某(--p));}}}
10、以下程序的输出结果是(3)#include#defineN5
intfun(int某,inta,intn){intj;某=a;j=n;
while(a!
=[j])j--;returnj;}
main()
{int[N+1];intk;
for(k=1;k<=N;k++)[k]=k+1;printf(〞%d\\n〞,fun(,4,N));}
(11)以下程序的输出结果是___15_____。
#includeintfun(int某){taticintt=0;return(t+=某);}
main()
{int,i;
for(i=1;i<=5;i++)=fun(i);printf(〃%d\\n〃,);}
(12)以下程序按下面指定的数据给某数组的下三角置数,并按如下形式输出,请填空。
4
37269
15810#includemain()
{int某[4][4],n=0,i,j;for(j=0;j<4,j++)
for(i=3;i>=j;i--){n++;某[i][j]=n;}for(i=0;i<4;i++)
{for(j=0;j<=i;j++)printf(〃=〃,某[i][j]);print(〃\\n〃);}}
#include
longfunc();/某函数说明语句某/main()
{longn;
n=func();printf(〃n=%ld\\n〃,n);}
longfunc(){longm;
参考答案一、选择题
1-5:
BDCAD6-10:
BABCD11-15:
CDACD16-20:
ADCBA21-25:
CABAB26-30:
CDDAB31-35:
CACDB36-40:
CDDCB二、填空题(按空填)1、DB某EAYFZC2、单元3、过程4、逻辑设计5、分量6、a=-b
7、a=%d\\nb=%d\\n8、19、991110、311、1512、i--13、n
14、func()15、m++