重庆大学网院2018年C++程序设计语言 ( 第1次 )答案参考

[复制链接]
发表于 2018-6-14 21:43:56 | 显示全部楼层 |阅读模式
重庆大学网院2018年C++程序设计语言 ( 第1次 )答案参考
一、单项选择题(本大题共60分,共 20 小题,每小题 3 分)
1. C++程序中,数据的两种表现形式是( )。
A. 常量和变量
B. 常量和矢量
C. 变量和矢量
D. 矢量和标量
2. C++程序中,定义引用变量时,( )。
A. 使用的运算符是*
B. 使用的运算符是()
C. 使用的运算符是&
D. 使用的运算符是[]
3. 下列关于函数的说法中,不正确的是( )。
A. 在不同函数中可以使用相同的名字命名变量
B. 形式参数是局部变量
C. 在函数内部定义变量的作用域在本函数中
D. 在一个函数内的复合语句中定义变量的作用域也是整个函数
4. C++程序的函数调用中,使用数值参数传递时,( )。
A. 能够在被调函数中通过形参修改实参
B. 实参和对应的形参数据类型可以不一致
C. 形参不能够从实参获取数值
D. 不能在被调函数中通过形参修改实参
5. C++语言中,定义一个文件流对象的正确语句形式是( )。
A. void *sp;
B. fstream sp;
C. FILE &sp;
D. filestream *sp;
6. 对于字符常量'B',与其对应的转义字符书写形式是( )。
A. '\101'
B. '\x42'
C. '\x41'
D. '\A'
7. 下列( )项不属于静态联编。
A. 非成员函数调用
B. 非虚函数调用
C. 虚函数调用
D. 函数重载调用
8. 下列不是异常错误的种类的是( )。
A. 编译错误
B. 逻辑错误
C. 运行时错误
D. 服务器连接错误
9. 下面( )项能够正确地定义类A以保护方式从B类继承。
A. protected class A : B{…}
B. class protected A : B{…}
C. class A : private B{…}
D. class A : protected B{…}
10. C++语言中,表达式18/4*sqrt(4.0)/8的数据类型是( )。
A. int
B. float
C. double
D. 不确定的
11. 线性表的存储结构主要包括顺序存储结构和( )。
A. 反序存储结构
B. 链式存储结构
C. 散列存储结构
D. 二叉树存储结构
12. STL有大量用来处理容器的算法,STL算法由( )实现。
A. 模板类
B. 类
C. 成员函数
D. 模板函数
13. 类A从类B派生而来,下面( )可以在类A的构造函数中调用基类B的构造函数
A. class A : public B {public: A(int i){B(i)};}
B. class A : public B {public: A(int i):B(i){};}
C. class A : public B {public: A(int i):B(int i){};}
D. class A : public B {public: A(int i){B(int i)};}
14. C++的函数有函数头和函数体两部分组成,下面所列的函数头书写格式中不正确的是( )。
A. main(int a,int b)
B. main(int a,int b=1)
C. main(int a=0,int b)
D. main(int a=2,int b=3)
15. 下列存取控制符中,( )能够限定类外代码不能访问被它修饰的成员。
A. private
B. public
C. protected
D. private和protected都可以
16. 有如下代码定义一个对象和对象引用,以下( )能够正确地使用对象引用来调用成员函数。 A a,&b=a;
A. b->show();
B. (*b).show();
C. b.show();
D. (*(*b)).show();
17. 下列程序代码运行后的输出是( )。 #include using namespace std; class A{ private: int x; const int y; public: A(int x, int y) :y(y){ this->x = x; } void show(){ cout << x << "," << y << endl; } }; void main(){ A a(1, 2); a.show(); }
A. 1,0
B. 2,1
C. 1,2
D. 1,(随机数)
18. 下列( )项的代码,能够正确地将类A的函数show申明为纯虚函数。
A. virtual class A{ void show()=0;}
B. class A{ void show()=0;}
C. class A{ virtual void show();}
D. class A{ virtual void show()=0;}
19. 下列的代码运行时不会发生拷贝构造函数调用的是( )。
A. Point p1(1,2); Point p2(p1)
B. Point p1(1,2); Point p2; p2=p1;
C. void printPoint(Point p){……}
D. Point createPoint(){Point p; …… return p;}
20. 类A是类B的基类,下面( )项表示的代码执行完成后,不能够正确调用B类的析构函数。
A. B *p=new B(); delete p;
B. A *p=new B(); delete p;
C. A a; B b; a=b;
D. A *a; B b; a=&b;
二、多项选择题(本大题共20分,共 5 小题,每小题 4 分)
1. 在定义类模板时需要主要一下问题(    )。
A. 如果在全局域中声明了与模板参数同名的变量,则该变量被隐藏掉。
B. 模板参数名不能被当作类模板定义中类成员的名字。
C. 同一个模板参数名在模板参数表中只能出现一次。
D. 在类模板的前向声明和定义中,模板参数的名字可以不同。
2. 异常错误大概分为三类,分别是(    )。
A. 编译错误。
B. 运行时错误。
C. 逻辑错误。
D. 硬件错误。
3. C++支持的多态特征包括(  )。
A. 重载多态
B. 强制多态
C. 包含多态
D. 参数多态
4. 类与类之间的关系包括(  )。
A. 继承
B. 引用
C. 赋值
D. 组合
5. STL的三个基本组成部分是(    )。
A. 容器
B. 模板
C. 算法
D. 迭代器
三、判断题(本大题共20分,共 10 小题,每小题 2 分)
1. C++语言中,文件是指具名存放在外部存储设备上的一组信息,它们以二进制代码形式存在。
2. C++语言中,定义多维数组时,每一维的长度都必须用单独的一个方括号(数组运算符)括起来。
3. C++程序中,文件的随机读写方式有利于数据文件的修改操作,从而提高这类文件处理的效率。
4. C++语言中,函数模板本质上和函数的重载是相同的,可以相互替代。
5. C++程序中,可以通过输出文件流对象和插入操作符(<<)配合将数据写入到数据文件中。
6. 运行时错误是在编译调试时是无法发现的,只有在运行时才出现,并且运行时会一定出现。
7. 模板参数名不能被当作类模板定义中类成员的名字。
8. 为了确定线性链表第一个结点的存放位置,必须使用一个指针变量指向链表的表头。
9. 类的友元关系是单向的,类A是类B的友元类,反过来类B不一定是类A的友元类。但是友元关系是可以传递的,如果类A是类B的友元类,类C又是类A的友元类,那么类C肯定也是类B的友元类。
10. 组合表示的是“有一个”(has a)的关系,是一般和特殊的关系;而继承表示的是“是一个”(is a)的关系,是部分与整体的关系。
答案:
一、单项选择题(60分,共 20 题,每小题 3 分)
1. A 2. C 3. D 4. D 5. B 6. B 7. C 8. D 9. D 10. C 11. B 12. D 13. B 14. C 15. D 16. C 17. C 18. D 19. B 20. B
二、多项选择题(20分,共 5 题,每小题 4 分)
1. ABCD 2. ABC 3. ABCD 4. AD 5. ACD
三、判断题(20分,共 10 题,每小题 2 分)
1. √ 2. √ 3. √ 4. × 5. √ 6. × 7. √ 8. √ 9. × 10. ×

快速回复 返回顶部 返回列表