全国计算机二级考试C++笔试模拟题及答案
在各领域中,我们经常接触到考试题,借助考试题可以为主办方提供考生某方面的知识或技能状况的信息。大家知道什么样的考试题才是规范的吗?以下是小编精心整理的全国计算机二级考试C++笔试模拟题及答案,希望能够帮助到大家。
全国计算机二级考试C++笔试模拟题及答案 1
一、选择题
1.栈和队列的共同特点是( )
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同点
【答案】C
2.链表不具有的特点是( )
A.不必事先估计存储空间
B.可随机访问任一元素
C.插入删除不需要移动元素
D.所需空间与线性表长度成正比
【答案】B
3.为了提高测试的效率,应该( )
A.随机选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.集中对付那些错误群集的程序
【答案】D
4.软件生命周期中所花费用最多的阶段是( )
A.详细设计
B.软件编码
C.软件测试
D.软件维护
【答案】D
5.下列有关数据库的描述,正确的是( )
A.数据库是一个DBF文件
B.数据库是一个关系
C.数据库是一个结构化的数据集合
D.数据库是一组文件
【答案】C
6.算法的空间复杂度是指( )
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占的存储空间
D.执行过程中所需要的存储空间
【答案】D
7.数据结构中,与所使用的计算机无关的是数据的( )
A.存储结构
B.物理结构
C.逻辑结构
D.物理和存储结构
【答案】C
8.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )
A.模块间的关系
B.系统结构部件转换成软件的过程描述
C.软件层次结构
D.软件开发过程
【答案】B
9.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )
A.控制流
B.加工
C.数据存储
D.源和潭
【答案】A
10.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )
A.需求分析阶段
B.逻辑设计阶段
C.概念设计阶段
D.物理设计阶段
【答案】B
11.以下C++语言中用于单行注释的是( )
A.//
B./*
C.*/
D.|
【答案】A
12.若变量已正确定义并赋值,以下符合C++语言语法的表达式是( )
A.a:=b+1
B.a=b=c+2
C.int18.5%3
D.a=a+7=c+b
【答案】B
13.有以下程序
#include″iostream.h″
voidmain( )
{inti=1,j=1,k=2;
if((j++||k++)&&i++)
cout<
cout<
执行后输出结果是( )
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
【答案】C
14.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是( )
A.a,point,*&a
B.&*a,&a,*point
C.*&point,*point,&a
D.&a,&*point,point
【答案】D
15.若运行时给变量x输入12,则以下程序的运行结果是( )
#include
voidmain( )
{
intx,y;
cin>>x;
y=x>12?x+10:x-12;
cout<
cout<
}
A.0
B.22
C.12
D.10
【答案】A
16.以下关于C++类的说法中正确的是( )
A.C++语言的默认访问权限是private
B.C++语言中的类定义,用户一定要自己定义一个构造函数用于实例化类
C.C++语言中的成员函数的实现部分一定要写在类定义外
D.C++语言中的类不能够嵌套定义
【答案】A
17.派生类对象对其基类中的什么成员是可访问的?( )
A.公有继承的私有成员
B.私有继承的公有成员
C.私有继承的保护成员
D.保护继承的保护成员
【答案】D
18.下列关于运算符重载不正确的是( )
A.运算符重载不能改变运算符的.操作数个数
B.运算符重载不能改变运算符的优先级
C.运算符重载不能改变运算符的结合性
D.运算符重载能改变对预定义类型数据的操作方式
【答案】D
19.对于重载的运算符>>,它是一个( )
A.用于输入的友元函数
B.用于输入的成员函数
C.用于输出的友元函数
D.用于输出的成员函数
【答案】A
20.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )
A.没有返回值
B.返回若干个系统默认值
C.有返回值,但返回一个不确定的值
D.能返回一个用户所希望的函数值
【答案】C
21.以下能对二维数组a进行正确初始化的语句是( )
A.inta[2][]={{1,0,1},{5,2,3}};
B.inta[][3]={{1,2,3},{4,5,6}};
C.inta[2][4]={{1,2,3},{4,5},{6}};
D.inta[][3]={{1,0,1},{},{1,1}};
【答案】B
22.有如下程序
#include
voidmain( )
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
cout<
该程序的输出结果是( )
A.0
B.0.25
C.0.5
D.1.0
【答案】C
23.C++中,表示一条语句结束的标号是( )
A.#
B.;
C.//
D.}
【答案】B
24.已知有定义
constintD=5;
inti=1;
doublef=0.32;
charc=15;
则下列选项错误的是( )
A.++i;
B.D--;
C.c++;
D.--f;
【答案】B
25.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是( )
#include
voidmain( )
{inti=0,j,k;
do{i++;k=316-13*i;}while(___);
j=k/11;
cout<<″316=13*″<
A.k/11B.kC.k/11==0D.k=0
【答案】B
26.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中o≤i≤9,则对a数组不正确的引用是( )
A.a[p-a]
B.*(&a[i])
C.p[i]
D.a[10]
【答案】D
27.函数fun的返回值是( )
fun(char*a,char*b)
{intnum=0,n=0;
while(*(a+num)!=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
returnnum;}
A.字符串a的长度
B.字符串b的长度
C.字符串a和b的长度之差
D.字符串a和b的长度之和
【答案】D
28.下面程序的结果为( )
#include
intc;
classA{
private:
inta;
staticintb;
public:
A( ){a=0;c=0;}
voidseta( ){a++;}
voidsetb( ){b++;}
voidsetc( ){c++;}
voiddisplay( ){cout<
intA::b=0;
voidmain( )
{Aa1,a2;
a1.seta( );
a1.setb( );
a1.setc( );
a2.seta( );
a2.setb( );
a2.setc( );
a2.display( );}
A.121
B.122
C.112
D.222
【答案】B
29.下列关于构造函数说法不正确的是( )
A.构造函数必须与类同名
B.构造函数可以省略不写
C.构造函数必须有返回值
D.在构造函数中可以对类中的成员进行初始化
【答案】C
30.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )
A.一元成员运算符
B.二元成员运算符
C.一元友元运算符
D.选项B和选项C都可能
【答案】D
31.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )
A.showbase( )和eof( )
B.showpoint( )和eof( )
C.showpoint( )和bad( )
D.showpoint( )和good( )
【答案】B
32.下列程序中画线处应填入的语句是( )
classBase
{public:
voidfun( ){cout<<″Baseoffun″<
classDerived:publicBase
{
voidfun( )
{
____//显示基类的成员函数fun
cout<<″Derivedoffun″<
}
};
A.fun( );
B.Base.fun( );
C.Base::fun( );
D.Base->fun( );
【答案】C
33.在位运算中,操作数每右移一位,其结果相当于( )
A.操作数乘以2
B.操作数除以2
C.操作数乘以4
D.操作数除以4
【答案】B
34.一个类的友元函数能够访问该类的( )
A.私有成员
B.保护成员
C.公有成员
D.所有成员
【答案】D
35.下面程序的输出结果是( )
#include
#include
voidmain( )
{
charp1[10],p2[10];
strcpy(p1,″abc″);
strcpy(p2,″ABC″);
charstr[50]″xyz″;
strcpy(str+2,strcat(p1,p2));
cout<
}
A.xyzabcABC
B.zabcABC
C.xyabcABC
D.yzabcABC
【答案】C
二、填空题
1.算法的基本特征是可行性、确定性、【1】和拥有足够的情报。
【答案】
【1】有穷性
2.在面向对象的程序设计中,类描述的是具有相似性质的一组【2】。
【答案】
【2】对象
3.数据库管理系统常见的数据模型有层次模型、网状模型和【3】3种。
【答案】
【3】关系模型
4.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【4】。
【答案】
【4】可重用性
5.关系操作的特点是【5】操作。
【答案】
【5】集合
6.C++语言中关键字运算符有new,和【6】。
【答案】
【6】sizeof
7.以下程序的输出结果是【7】。
#include
classobject
{private:
intval;
public:
object( );
object(inti);
~object( );};
object::object( )
{val=0;
cout<<″Defaultconstructorforobject″<
object::object(inti)
{vali;
cout<<″Constructorforobject″<
object::~object( )
{cout<<″Destructorforobject″<
classcontainer{private:
objectone;
objecttwo;
intdata;
public:
container( );
container(inti,intj,intk);
~container( );};
container::container( )
{cata=0;
cout<<″Defaultconstructorforcontainer″<
container::container(inti,intj,intk):two(i),one(j)
{data=k;
cout<<″Constructorforcontainer″<
container::~container( )
{cout<<″Destructorforcontainer″<
voidmain( )
{containeranObj(5,6,10);}
【答案】
【7】Constructorforobject6
Constructorforobject5
Constructorforcontainer
Destruct
8.静态成员函数可以直接访问类的【8】成员,不能直接访问类的【9】成员。
【答案】
【8】静态【9】非静态
9.表达式x.operator+(y.operator++(0))还可以写成【10】。
【答案】
【10】x+y++或x+(y++)
10.在C++语言的结构化程序设计中,【11】是程序的基本组成单元;在C++语言的面向对象设计框架中,【12】是程序的基本组成单元。
【答案】
【11】函数【12】类
11.C++语言提供的基本控制结构可以分为3种类型:顺序结构、【13】和循环结构。
【答案】
【13】选择结构
12.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【14】方式。
【答案】
【14】传地址
13.继承的方式有公有继承、私有继承和【15】3种。
【答案】
【15】保护继承
全国计算机二级考试C++笔试模拟题及答案 2
一、选择题
算法的空间复杂度是指( )
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 执行过程中所需要的存储空间
答案:D
用链表表示线性表的优点是( )
A. 便于随机存取
B. 花费的存储空间较顺序存储少
C. 便于插入和删除操作
D. 数据元素的物理顺序与逻辑顺序相同
答案:C
数据结构中,与所使用的计算机无关的是数据的( )
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 物理和存储结构
答案:C
结构化程序设计主要强调的是( )
A. 程序的规模
B. 程序的效率
C. 程序设计语言的先进性
D. 程序易读性
答案:D
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )
A. 模块间的关系
B. 系统结构部件转换成软件的过程描述
C. 软件层次结构
D. 软件开发过程
答案:B
检查软件产品是否符合需求定义的过程称为( )
A. 确认测试
B. 集成测试
C. 验证测试
D. 验收测试
答案:A
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
答案:A
应用数据库的主要目的是( )
A. 解决数据保密问题
B. 解决数据完整性问题
C. 解决数据共享问题
D. 解决数据量大的问题
答案:C
在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )
A. 需求分析阶段
B. 逻辑设计阶段
C. 概念设计阶段
D. 物理设计阶段
答案:B
在数据管理技术的'发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是( )
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
答案:A
下面关于 C++ 语言的描述错误的是( )
A. C++ 语言支持数据封装。
B. C++ 语言中引入友元没有破坏封装性
C. C++ 语言允许函数名和运算符重载
D. C++ 语言支持动态联编
答案:B
设有定义int a=1;float f=12;char c=a;,则下列表示错误的是( )
A. ++a;
B. f--;
C. c++;
D. 8++;
答案:D
下列程序的运行结果为( )
cpp
复制
#include
void main (){
int a=2;
int b=a+1;
std::cout << a/b << std::endl;
}
A. 0.66667
B. 0
C. 0.7
D. 0.66666666
答案:B
14. 设int a=1,b=2;,则(a++)+b和a+b这两个表达式的值分别为( )
A. 3,3
B. 3,4
C. 4,3
D. 4,4
答案:C
15. 下面程序的运行结果为( )
cpp
复制
#include
void main(){
char a = 3;
switch(a){
case 3: std::cout << "3";
case 2: std::cout << "2"; break;
default:std::cout << "1";
}
}
A. 3
B. 321
C. 31
D. 32
答案:D
16. 有如下数组声明:int num[10];,下标值引用错误的是( )
A. num[10]
B. num[5]
C. num[3]
D. num[0]
答案:A
17. 存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他 3 个选项不是等价的?( )
A. x=pa;
B. x=(a+1);
C. x=*(pa+1);
D. x=a[1];
答案:A
18. 下面程序的运行结果为( )
cpp
复制
#include
void swap (int &a,int b){
int temp;
temp=a++;
a=b;
b=temp;
}
void main(){
int a=2,b=3;
swap (a,b);
std::cout << a << "," << b << std::endl;
}
A. 2,3
B. 3,2
C. 2,2
D. 3,3
答案:D
19. 一个函数功能不太复杂但要求被频繁调用,应选用( )
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
答案:A
20. 下面关于 C++ 语言变量的叙述错误的是( )
A. C++ 语言中变量分为 auto,static,extern 和 register 四种存储类型
B. 自动变量和外部变量的作用域为整个程序
C. 内部静态变量的作用域是定义它的函数
D. 外部静态变量的作用域是定义它的文件
答案:B
二、填空题
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
答案:实体
软件结构是以______为基础而组成的一种控制层次结构。
答案:模块
数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
答案:概念
在最坏情况下,冒泡排序的时间复杂度为______。
答案:
在 C++ 语言中,一个函数一般由两个部分组成,分别是______和函数体。
答案:函数首部
【全国计算机二级考试C++笔试模拟题及答案】相关文章:
2015年9月全国计算机二级考试C++笔试模拟题及答案(五)10-22
全国计算机等级考试二级C++笔试题08-24
全国计算机二级考试《C++》笔试样卷06-12
全国计算机二级考试C++精选试题及答案08-17
全国计算机等级考试二级C++笔试真题10-11
计算机二级C++模拟题及答案05-12
全国计算机二级考试C++巩固试题与答案10-03