【#计算机等级考试# #2018年12月计算机二级C++考前冲刺模拟题及答案#】2018年12月计算机二级考试在即,为了便于考生的复习及知识的巩固,今天®无忧考网为各位考生整理了2018年12月计算机二级C++考前冲刺模拟题及答案,欢迎各位考生的关注,更多计算机二级考试的资讯,敬请关注®无忧考网的更新。
1.下列叙述中正确的是( )。
A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
2.支持子程序调用的数据结构是( )。
A.栈
B.树
C.队列
D.二叉树
3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A.10
B.8
C.6
D.4
4.下列排序方法中,坏情况下比较次数少的是( )。
A.冒泡排序
B.简单选择排序
C.直接插入排序
D.堆排序
5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是( )。
A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
6.下列叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划。排除测试的随意性
7.耦合性和内聚性是对模块独或性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
8.数据库应用系统中的核心问题是( )。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
9.有下列程序:
#include
voidmain( )
{char*s={"ABC");
do
{printf("%d",*s);s++;
}while(*s);
}
注意:字母A的ASCIl码值为65。程序运行后的输出结果是( )。
A.5670
B.656667
C.567
D.ABC
10.将E—R图转换为关系模式时,实体和联系都可以表示为( )。
A.属性
B.键
C.关系
D.域
11.下列选项合法的标识符是( )。
A.1_1
B.1-j
C._11
D.1__
12.若函数中有定义语句“intk;”.则( )。
A.系统将自动给k赋初值0
B.这时k中的值无定义
C.系统将自动给k赋初值-l
D.这时k中无任何值
13.下列选项中,能用作数据常量的是( )。
A.o115
B.o118
C.1.5e1.5
D.115L
14.设有定义“intx=2;”,下列表达式中,值不为6的是( )。
A.X*=x+1
B.x++,2*x
C.x*=(1+x)
D.2*x,x+=2
15.程序段“intx=12;doubley=3.141593;printf(”%d%8.6’f",X,y);”的输出结果是( )。
A.123.141593
B.123.141593
C.12,3.141593
D.123.1415930
16.若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是( )。
A.scanf("%f%f",x,y);
B.scanf("%f%f"&x,&y);
C.scanf("%If%le",px,py);
D.scanf("%lf%If"x,y);
17.下列是if语句的基本形式:
if(表达式)语句
其中“表达式”( )。
A.必须是逻辑表达式
B.必须是关系表达式
C.必须是逻辑表达式或关系表达式
D.可以是任意合法的表达式
18.有下列程序:
#include
voidmain( )
{intx;
scanf(”%d”,&x);
if(x<=3);else
if(x!=10)printf("%d\n",x);}
程序运行时,输入的值在哪个范围才会有输出结果( )。
A.不等于10的整数
B.大于3且不等10的整数
C.大于3或等于10的整数
D.小于3的整数
19.有下列程序:
#include
voidmain()
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2‖c--!=3)
printf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d,%d\n",a,b,c);}
程序运行后的输出结果是( )。
A.1,2,3
B.1,3,2
C.1,3,3
D.3,2,1
20.下列程序段中的变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf("*");
程序段的输出结果是( )。
A.********
B.****
C.**
D.*
参考解析:
1.D。【解析】本题考查了栈、队列、循环队列的基本概念。栈的特点是先进后出;队列的特点是先进先出。根据数据结构中各数据元素之间的复杂程度,数据结构分线性结构与非线性结构两类。有序线性表即可采用顺序存储结构,也可以采用链式存储结构。
2.A。【解析】根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。
3.C。【解析】根据二叉树的性质判定,在任意二叉树中,度为0的叶子结点总是比度为2的结点多一个。
4.D。【解析】本题考查排序的比较次数,冒泡排序、简单选择排序和直接插入排序在坏的情况下比较次数为n(n-1)/2。而堆排序法在坏的情况下需要比较的次数为O(nlog2n)。
5.C。【解析】编译程序和汇编程序缡于开发工具;操作系统属于系统软件;而教务管理系统属于应用软件。
6.A。【解析】软件测试的目的是为了发现错误及漏洞而执行程序的过程;软件测试要严格执行测试计划;程序调试通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。
7.B。【解析】耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素彼此之间接合的紧密程序。高内聚、低耦合有利于模块的独立性。
8.A。【解析】数据库设计的目的是设计一个能满足用户要求、性能良好的数据库。所以数据库设计是数据库应用的核心。
9.C。【解析】本题考查d0…while语句,至少执行循环体,依次输出ABC,这三个字母的ASCIl值对10求模的余数,字母A的ASCIl值对10求模的余数为5,字母B的ASCIl值对10求模的余数为6,字母c的ASCIl值对10求模的余数为7。所以正确答案为选项C。
10.C。【解析】在C语言中,将E—R图转换为关系模式时,实体和联系都可以表示为关系。
11.C。【解析】C语言中标识符命中的规则是:标识符只能由字母、数字和下画线组成,第一个字符必须为字母或下画线。所以选项C正确。
12.B。【解析】根据题目,若以这种方式定义变量k时,编译程序仅为k开辟存储单元,并未在存储单元中存放任何初始值,所以变量中的值无意义,称变量值“无定义”。所以正确答案为选项B。
13.D。【解析】选项A的第一个字母是O而不是数字0,所以不构成数值常量;选项B中,8不是八进制数字,八进制数为0到7;选项C中字母“e”后面的指数是小数而非整数,不合法,不是一个合法的指数形式的数值常量;在选项D中,可以在整型常量的后面加一个字母L,表示这个常量在内存中占4字节。
14.D。【解析】本题考查了复合运算符“=”和逗号表达式如何正确求值。逗号表达式的作用是用逗号将表达武连起来,其有效值为后一个表达式的值,其运算的结合性从左到右进行运算。选项D是一个逗号表达式,其值为4。
15.A。【解析】根据输出函数printf中对输出数值格式的要求,第一个数和第二数之间没有空格或分隔号,因而此题答案为选项A。
16.C。【解析】此题主要考查输入函数的字符格式,lf和le表示以带小数点的数学形式或指数形式输入浮点数。
17.D。【解析】在C语言中if关键字后的一对圆括号中的表达式可以是c语言中任意合法的表达式。
18.B。【解析】在本题的程序中输入的数值小于等于3时,不进行任何处理。如果输入的数值大于3并且其值不等于10时,则打印输入的数值。所以本题的正确答案为选项B。
19.C。【解析】在程序中,当执行第一条if语句时,进行逻辑语句的判断,因为变量b的初值为2,所以其值加1后为3,与2不相等,所以if语句中的逻辑表达式的值为假,则程序执行后一条elseprintf语句。输出变量为a,b,c,当前数值为1,3,3。所以正确答案为选项C。
20.D。【解析】本题中第二个for循环语句的后面有一个分号,所以两个for循环语句的执行语句为空。当两个for循环语句执行完后,再执行printf语句输出一个星号。所以正确答案为选项D。