全国计算机等级考试二级C语言拟明真题题Word格式.docx
- 文档编号:22192251
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:19
- 大小:27.63KB
全国计算机等级考试二级C语言拟明真题题Word格式.docx
《全国计算机等级考试二级C语言拟明真题题Word格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言拟明真题题Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
9、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是
A、x++;
printf((“%d\n”,x);
B、n=++x;
printf((“%d\n”,n);
C、++x;
D、n=x++;
10、以下选项中,能表示逻辑值“假”的是
A1B0.000001C0D100.0
11.下列叙述中正确的是:
A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构
C、循环队列是非线性结构D、循环队列是一直逻辑结构
12.下列叙述中正确的是
A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表
C、栈和队列都是非线性结构D、以上三种说法都不对
13.一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为
A、4B、6C、10D、16
14.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
A、内模式B、外模式C、概念模式D、逻辑模式
15.在满足实体完整性约束的条件下
A、一个关系中可以没有候选关键词
B、一个关系中只能有一个候选关键词
C、一个关系中必须有多个候选关键词
D、一个关系中应该有一个或者多个候选关键词
16.有三个关系R、S和T如下:
S
A
B
C
a
1
2
b
R
c
3
T
则由关系R和S得到关系T的操作是
A、自然连接B、并C、差D、交
17.软件生命周期中的活动不包括
A、软件维护B、市场调研C、软件测试D、需求分析
18.下面不属于需求分析阶段任务的是
A、确定软件系统的功能需求B、确定软件系统的系统的系能需求
B、制定软件集成测试计划D、需求规格说明书审评
19.在黑盒测试方式中,设计测试用例的主要根据是
A、程序外部功能B、程序内部逻辑
C、程序数据结构D、程序流程图
20、有以下程序
{inta;
Scanf(“%d”,&
a);
If(a++<
9)printf((“%d\n”,a);
Elseprintf((“%d\n”,a--);
程序运行时键盘输入9<
回车>
,则输出的结构是
A、10B11C9D8
21、有以下程序
{ints=0,n;
For(n=0;
n<
3;
++)
{switch(s)
{case0;
Case1;
s+=1;
Case2;
s+=2;
break;
Case3;
s+3;
Case4;
s+=4;
printf((“%d\n”,s);
程序运行后的结果是
A1,2,4B1,3,6C3,10,14D3,6,10
22、若k是int类型变量,且有以下for语句
For(k=-1;
k<
0;
k++)printf(****\n”);
下面关于语句执行情况的叙述中正确的是
A、循环体执行一次B、循环体执行两次
C、循环体一次也不执行D、构成无限循环
23、有以下程序
{charA,B,C;
B=’1’;
C=’A’
For(A=0;
A<
6;
A++)
{if(A%2)putchar(B+A);
Elseputchar(C+A);
A1B3D5FBABCDFECA2C4E6D123456
24、设有如下定义语句
Intm[]={2,4,6,8},*k=m;
以下选项中,表达式的值为6的是
A*(k+2)Bk+2C*k+2D*k+=2
25、fun函数的功能是:
通过键盘输入给x所指的整型数组所有元素赋值。
在下列划线处应该填写的是
#defineN5
Viodfun(intx[N])
{intm;
For(m=N-1;
m>
m--)scanf(“%d\n”,);
A&
x[++m]B&
x[m+1]Cx+(m++)Dx+m
26、若有函数
Viodfun(doublea[],int*n)
{………}
以下叙述中正确的是
A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送
B、形参a和n都是指针变量
C、形参a是一个数组名,n是指针变量
D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组
27、有以下程序
{inta,b,k,m,*p1,*p2;
k=1,m=8;
p1=&
k,p2=&
m;
a=/*p1-m;
b=*p1+*p2+6;
printf(“%d”,a);
printf(“%d\n”,b);
编译时编译器提示错误信息,你认为出错的语句是
A、a=/*p1-mB、b=*p1+*p2+6
C、k=1,m=8;
D、p1=&
28、以下选项中有语法错误的是
Achar*str[]={“guest”};
B、charstr[10]={“guest”};
C、char*str[3]*str[1]={“guest”};
D、charstr[3][10];
str[1]={“guest”};
29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是
A、intavg(int*a,intn);
B、intavg(inta[10],intn);
C、intavg(inta,intn);
D、intavg(inta[],intn);
30、有以下函数
#include<
string.h>
main()
{printf(“%d\n”,strren”ATS\n012\1”));
程序运行后的输出结果是
A3B8C4D9
31、有以下函数
{chara[20],b[20],c[20];
scanf(”%s%s”,a,b);
get(c);
printf(”%s%s\n”,a,b,c);
程序运行时从第一行开始输入thisisacat!
<
,则输出结果是
Athisisacat!
BthisisaCthisisacat!
Dthisisacat!
32、有以下函数
viodfun(charc)
{if(c>
’x’)fun(c-1);
printf(“%c”,c);
{fun”z”;
程序运行输出结果是
AxyzBwxyzCzyxwDzyx
33、有以下函数
viodfunc(intn)
{inti;
for(i=0;
i<
=n;
i++)printf(“*”);
printf(“#”);
{func(3);
printf(“?
?
”);
func(4);
printf(“\n”);
}
A****#?
***#B***#?
*****#
C**#?
*****#D****#?
34、有以下函数
viodfun(int*s)
{staicintj=0;
do{s[j]=s[j]+s[j+1];
}wihle(++j<
2);
{intk,a[10]={1,2,3,4,5};
for(K+1;
k++)fun(a);
5;
k++)printf(“%d”,a[k]);
printf(“\n”);
A12345B23445C34756D35745
35、有以下函数
#defineS(x)(x)*x*2
{intk=5,j=2;
printf(“%d,”,S[k+j]);
printf(“%d\n”,S(k-j)));
A98,18B39,11C39,18D98,11
36、有以下函数
Viodexch(intt[])
{t[0]=t[5];
{intx[10]={1,2,3,4,5,6,7,8,9,10},i=0;
While(i<
=4){exch(&
x[i])’i++;
i++)printf(“%d”,x[i]);
A246810B13579C12345D678910
37、设有以下程序段
StructMP3
{charname[20];
Charcolor;
Floatprice;
}std,*ptr;
ptr=&
std;
若要引用结构体变量std中的color成员,写法错误的是
Astd.colorBptr->
colorCstd->
colorD(*ptr).color
38、有以下函数
structstu
{intmun;
charname[10];
intage;
};
viodfun(structstu*p)
{printf(“%s\n”,p->
name);
mian()
{structstux[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};
fun(x+2);
AzhangBzhaoCwangD19
39、有以下函数
{inta=12,c;
c=(a<
2)<
1;
printf(“%d\n”,c):
A3B50C2D96
40、以下函数不能用于向文件写入数据的是
AftellBfwriteCfputcDfprintf
二、填空题
1、将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为()。
2、设循环队列的存储空间为Q(1:
3),初始状态为front=rear=30。
现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有()个元素。
3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是()。
4、在将E-R图转换到关系模式时,实体和联系都可以表示成()。
5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于()。
6、设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,&
a,&
b);
语句分别给a和b输入1和2,则正确的数据输入内容是()。
7、以下程序的输出结果是()。
{inta=37;
a+=a%=9;
printf(“%d\n”,a);
8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;
语句后,变量b的值是().
9、有以下程序段
s=1.0;
for(k=1,k<
k++)s=s+1.0(k*(k+1));
printf(“%f\n”,s);
请填空,使以下程序段的功能与上面的程序段完全相同。
k=1;
while()
{s=s+1.0(k*(k+1));
k=k+1;
10、以下程序段的输出结果是()
{chara,b;
for(a=0;
a<
20;
a+=7){b=a%10;
putchar(b+’0’);
11、以下程序段的输出结果是()
{char*ch[4]={“red”,”green”,”blue”};
Inti=0;
While(ch[i]);
{putchar(ch[i][0];
i++;
12、有以下程序
{intarr[]={1,3,5,7,2,4,6,8{,i,start;
Scanf(“%d”,&
start);
For(i=0,i<
3,i++)
printf(“%d”,arr[(start+i)%8]);
若在程序运行时输入整数10<
,则输出结果为()。
13、以下程序的功能是输出a数组中的所有字符串,请填空
{char*a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
For(;
4;
i++)printf(“%s\n”,);
14、以下程序的输出结果是()。
{char*p,*q,*r;
p=q=r=(char*)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!
printf(“%c%c%c\n”,p[11],q[3],r[4]);
free(p);
15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为()。
{file*fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);
(1)
【答案】A
【解析】为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。
它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构
(2)
【D】
【解析】栈是一种后进先出的线性表,队列是一种先进先出的线性表,二者均是线性结构,故选项A)、B)、C)均不对,答案为选项D)。
(3)
【解析】由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数,选项D)正确
(4)、【答案】A
【解析】内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述。
所以选项A)正确。
(5)
【答案】D
【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。
所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键字,所以选项D)正确。
(6)
【答案】C
【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。
记为T=R-S。
根据本题关系R和关系S运算前后的变化,可以看出此处进行的是关系运算的差运算
(7)
【答案】B
【解析】通常把软件产品从提出、实现、使用、维护到停止使用(退役)的过程称为软件生命周期。
可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。
软件生命周期的主要活动阶段是可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。
软件生命周期不包括市场调研。
(8)
【解析】需求分析是对待开发软件提出的需求进行分析并给出详细的定义。
主要工作是编写软件需求规格说明书及用户手册。
需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。
制定软件集成测试计划是软件设计阶段需要完成的任务
(9)
【解析】黑盒测试也称功能测试或数据驱动测试,设计测试用例着眼于程序外部结构、不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
(10)
【解析】软件设计包括概要设计和详细设计,软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。
软件详细设计,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。
数据流图(DFD图)是软件定义阶段结构化分析方法常用的工具。
(11)
【答案】A)
【解析】简单程序设计的步骤是首先要确定算法和数据结构,然胡编码、调试,最后整理相关文档。
(12)
【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。
而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
(13)
【答案】B)
【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。
(14)
【答案】C)
【解析】一个C程序有且只有一个主函数main()。
一个C程序可以包含多个不同名字的子函数。
C程序在书写时没有严格的缩进要求。
(15)
【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。
所以在输入时也不可以有任何间隔符号。
(16)
【答案】D)
【解析】字符常量有两种表示方法:
一种是用该字符的图形符号,如'
b'
,'
y'
,'
*'
。
另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:
有两种形式:
一种是用字符的八进制ASCII码,表示为:
\odd.这里,ddd是八进制值(o可以省略)。
另一种使用字符的十六进制ASCII码值,表示为 \0xhh或0Xhh 这里hh是两位十六进制值。
本题中D)选项‘\019'
使用是八进制表示,不应该出现9,所以错误。
(17)
【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。
然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。
最后打印输出。
(18)
【解析】本题考察自增运算符,++x表示先将x值加1后再用,x++表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x值。
(19)
【解析】在C语言中非0的值表示真,0表示假。
(20)
【解析】考察if语句和自增自减运算符,判断条件中if(a++<
9)是先用后加,即a的值为9,所以条件不成立,但是a已经进行了自增1操作,a的值此时为10。
执行else语句时,因为打印a--,是先用后减,所以先输出10,然后a的值变为9。
(21)
【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。
所以第一次循环后s的值为3打印输出。
第二次s的值为:
s=s+3,s=s+4,即为10,打印输出。
第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。
(22)
【解析】考察for循环语句,本题中k初始值为-1,执行一次循环体,执行完后k值为0,不满足k<
0条件,推出循环,所以执行了一次。
(23)
【解析】考察for语句和if语句,第一次循环a的值为0,a%2也为0,条件不满足所以打印的是(c+a)即变量c的值“A”。
第二次a的值为1,条件a%2的值为1,条件满足打印字符(b+a)即字符“2”。
第三次a的值为2,条件不满足,打印(a+c)即字符”C”。
同理打印后续字符为“4E6”。
(24)
【解析】考察数组和指针的概念,本题中*k指向数组m的首地址。
*(k+2)现将指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 拟明真题题
![提示](https://static.bdocx.com/images/bang_tan.gif)