国家二级(C++)笔试模拟试卷107 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 下列关于 switch 语句的描述中,(    )是正确的。
A.switch语句中 default子句可以没有,也可有一个
B.switch语句中每个语句序列中必须有break语句
C.switch语句中default 子句只能放在最后
D.switch语句中case 子句后面的表达式只能是整型表达式
正确答案:A 
2. (    )使一个函数可以定义成对许多不同数据类型完成同一个任务。
A.函数模板
B.重载函数
C.递归函数
D.模板函数
正确答案:A 
3. 关于函数返回值类型和返回值表达式的类型的描述中,错误的是(    )。
A.函数返回值类型决定了返回值表达式的类型
B.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变
C.函数返回值的类型就是返回值表达式的类型
D.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型
正确答案:C 
4. 下列程序的运行结果是(    )。    #include< iostream.h>    void fun (int *a,int*b)    {int*k    k=a;a=b;b=k}    void main(  )    {int a=2004,  b=9,*x=&a,*y=&b;    fun(x,  y) ;    cout<<a<< <<b<<endl:}
A.20049
B.92004
C.0
D.编译时出错
正确答案:A 
5. 下列定义中,Sample是一个类,(    )是定义指向对象数组的指针p.
A.Sample*P [5]
B.Sample (*p) [5]
C.(Sample*) P[5]
D.Sample *P[]
正确答案:B 
6. 下列函数中,(    )是对文件进行写操作的。
A.get
B.seekg
C.read
D.put
正确答案:D 
7. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(    )。
A.public
B.protected
C.private
D.static
正确答案:A 
8. 最简单的交换排序方法是(    )。
A.快速排序
B.选择排序
C.堆排序
D.冒泡排序
正确答案:D 
9. 下列输出字符,A,的方法中,(    )是错误的。
A.cout <<put (A);
B.cout<<A
C.cort. put (A);
D.char A=A;cout<<A;
正确答案:A 
10. 下面关于ios类的叙述中,正确的是(    )。
A.它是istream类和ostream类的虚基类
B.它只是istream类的虚基类
C.它只是ostream类的虚基类
D.它是ostream类的虚基类
正确答案:A 
11. 下列程序中划线处正确的语句是(    )。    # include <iostream>    using namespace std;    class Base    {    public:      void fun(  ){cout<<Base:: fun <<endl;}    };    class Derived:public Base    {      void fun(  )      {      ______    ∥显式调用基类的函数fun(  )      cout<<D
A.fun(  );
B.Base.fun(  );
C.Base::fun(  );
D.Base- >fun(  );
正确答案:C 
12. 对于拷贝初始化构造函数和赋值操作的关系,正确的描述是(    )。
A.拷贝初始化构造函数和赋值操作是完全一样的操作
B.进行赋值操作时,会调用类的构造函数
C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化
D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义
正确答案:C 
13. 只能作为成员函数重载的是(    )。
A.=
B.++
C.*
D.new
正确答案:A 
14. 已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列Myst x (3.2),y(5.5),z(0.0);    z=8.9-y;    y=x-6.3;    能够正常运行,运算符函数operator-应在类中声明为(    )。
A.friend Myst operator- (Myst&, Myst&);
switch语句表示范围B.friend Myst operator- (Myst,Myst);
C.friend Myst operator- (Myst,Myst&);
D.friend Myst operator- (Myst&,Myst);
正确答案:B 
15. 程序的3种基本控制结构是(    )。
A.过程、子过程和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
正确答案:B 
16. C++对C语言作了很多改进,下列描述中(    )使得C语言发生了质变,即从面向过程变成面向对象。
A.增加了一些新的运算符
B.允许函数重载,并允许设置默认参数
C.规定函数说明必须用原型
D.引进了类和对象的概念
正确答案:D 
17. 关于关键字class和typename,下列描述正确的是(    )。
A.程序中所有的class都可以替换为typename
B.程序中所有的typename都可以替换为class
C.A和B都可以
D.A和B都不可以
正确答案:B 
18. 重载赋值操作符时,应声明为(    )。函数。
A.友元
B.虚
C.成员
D.多态
正确答案:C 
19. 有如下程序:    #include iostream.h    void main(  )    {        int x=1,  a=0,  b=0;    switch(x)  {    case O:b++;    easel:a++;    case2:a++:b++:    }    cout<<a =<<a<< <<b=<<b;    }    该程序的输出结果是(    )。
A.a=2,b=1
B.a=l, b=1
C.a=1,b=0
D.a=2,b=2
正确答案:A 
20. 下列关于指针的运算中,(    )是非法的。
A.两个指针在一定条件下,可以进行相等或不等的运算
B.可以将一个空指针赋值给某个指针
C.一个指针可以加上两个整数之差
D.两个指针在一定条件下可以相加
正确答案:D 
21. C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由类istream和(    )提供。
A.fstream
B.iostream
C.ostream
D.cin
正确答案:C 
22. 派生类的对象对它的基类成员中(    )是可以访问的。
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员
正确答案:A 
23. 对于重载的运算符>>,它是一个(    )。
A.用于输入的友元函数
B.用于输入的成员函数
C.用于输出的友元函数
D.用于输出的成员函数
正确答案:A 
24. 下列for循环的循环体执行次数为(    )。    for (int i=O,j=10;i=j=10;i++,j--)
A.0
B.1
C.10
D.无限
正确答案:D 
25. 下列格式化I/O的操作符中,(    )是设置域宽的。
A.ws
B.oct
C.setfill(int)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。