🎃个人专栏:
🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客
🐳Java基础:Java基础_IT闫的博客-CSDN博客
🐋c语言:c语言_IT闫的博客-CSDN博客
🐟MySQL:数据结构_IT闫的博客-CSDN博客
🐠数据结构:数据结构_IT闫的博客-CSDN博客
💎C++:C++_IT闫的博客-CSDN博客
🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客
💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客
🥏python:python_IT闫的博客-CSDN博客
欢迎收看,希望对大家有用!
目录
一. 单选题
二. 填空题
三. 判断题
四. 程序题
🎯单选题答案
🎯填空题答案
🎯判断题答案
🎯程序题答案
一. 单选题
1. (单选题, 2分)一个类可包含析构函数的个数是:
-
A. 0个
-
B. 0个或1个
-
C.0个或多个
-
D. 1个
2. (单选题, 2分)关于C++语言与C语言的描述中,不正确的是:
-
A. C语言是C++语言的一个子集
-
B. C语言与C++语言是兼容的
-
C. C++语言和C语言都是面向对象的
-
D. C++语言对C语言进行了一些改进
3. (单选题, 2分)使用值传递方式将实参传给形参,下列说法正确的是:
-
A. 形参和实参是同一对象
-
B. 实参是形参的备份
-
C. 形参是实参的备份
-
D. 形参和实参无联系
4. (单选题, 2分)类的成员的初始化是通过函数完成的,这个函数通常是( )
-
A. 友元函数
-
B. 其它成员函数
-
C. 析构函数
-
D. 构造函数
5. (单选题, 2分)系统在调用重载函数时,不能作为确定哪个重载函数被调用的依据是:
-
A. 函数名称
-
B. 参数类型
-
C. 函数的返回值类型
-
D. 参数个数
6. (单选题, 2分)如果类A被说明成类B的友元,则:
-
A. 类B的成员函数可以访问类A的所有成员
-
B. 类A的成员函数可以访问类B的所有成员
-
C. 类A的成员即是类B的成员
-
D. 类B的成员即是类A的成员
7. (单选题, 2分)C++源程序文件扩展名为( )
-
A. .obj
-
B. .h
-
C. .c
-
D. .cpp
8. (单选题, 2分)假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句:
-
A. delete *p;
-
B. delete [ ]p;
-
C. delete &p;
-
D. delete p;
9. (单选题, 2分)在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( )
-
A. cin
-
B. cout
-
C. cfile
-
D. cerr
10. (单选题, 2分)
考虑下面的函数原型声明:void Sample(int a, int b=7, char z='*');
下面函数调用中,不合法的是:
-
A. Sample(0,0, ‘*’);
-
B. Sample(5);
-
C. Sample(5, '#');
-
D. Sample(5,8);
二. 填空题
11. (填空题, 2分)C++中的运算符可以重载为类的成员函数和( )函数。
12. (填空题, 2分)可以让新类继承已定义的类的数据成员和成员函数,这个新类称为( )。
13. (填空题, 2分)对于类Point而言,其析构函数的定义原型为( ).
14. (填空题, 2分)类有三种继承方式,分别是:公有继承、( )、私有继承。
15. (填空题, 2分)在C++语言中,用转义字符序列'\n'或操纵符( )表示输出一个换行符。
三. 判断题
16. (判断题, 2分)可以在类的构造函数中对静态数据成员进行初始化。
-
A. 对
-
B. 错
17. (判断题, 2分)说明或定义对象时,类名前面不需要加class关键字。
-
A. 对
-
B. 错
18. (判断题, 2分)C++中标识符内的大小写字母是没有区别的。
-
A. 对
-
B. 错
19. (判断题, 2分)重载运算符保持原运算符的优先级和结合性不变。
-
A. 对
-
B. 错
20. (判断题, 2分)派生类从基类派生出来,它不能生成新的派生类。
-
A. 对
-
B. 错
21. (判断题, 2分)输入/输出运算符只能重载为类的友元函数。
-
A. 对
-
B. 错
:
22. (判断题, 2分)多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。
-
A. 对
-
B. 错
23. (判断题, 2分)在C++中,既允许单继承,又允许多继承。
-
A. 对
-
B. 错
24. (判断题, 2分)C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。
-
A. 对
-
B. 错
25. (判断题, 2分)某类的友元类的所有成员函数可以存取或修改该类中的私有成员。
-
A. 对
-
B. 错
26. (判断题, 2分)引用是变量的别名,对引用的操作,实质上就是对被引用的变量的操作。
-
A. 对
-
B. 错
27. (判断题, 2分)任何一个对象只能属于一个具体的类。
-
A. 对
-
B. 错
28. (判断题, 2分)多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
-
A. 对
-
B. 错
29. (判断题, 2分)重载运算符不要改变原来运算符的语义。
-
A. 对
-
B. 错
30. (判断题, 2分)无论什么方式的继承,基类的私有成员都不能被派生类访问。
-
A. 对
-
B. 错
四. 程序题
31. (程序题, 20分)
斐波那契数列(Fibonacci sequence),指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥3,n ∈ N*),现从键盘输入n值(n<=20),输出数列前n项和。
32. (程序题, 20分)
设计一个书类Book,成员变量有书名(name),编号(num),成本价格(price),销售利润(overprice);成员函数有构造函数和求书本实际售价的函数(sum)。主函数中创建book对象并输出差价完成测试。
🎯单选题答案
1-5:DCCDC
6-10:BDDAC
🎯填空题答案
11.友元
12派生类
13. ~Point()
14.保护继承
15. endl
🎯判断题答案
16-20:错对错对错
21-25:对对对错对
26-30:对对对对对
🎯程序题答案
31.
#include <iostream>
using namespace std;
int main(){
int n,a[21];
int s=0;
a[1]=a[2]=1;
for(int i=3;i<=20;i++)
a[i]=a[i-1]+a[i-2];
//for(int i=1;i<=20;i++)
// cout<<a[i]<<endl;
cout<<"input n:";
cin>>n;
for(int i=1;i<=n;i++)
s=s+a[i];
cout<<"s="<<s<<endl;
cin>>n;
}
32.
#include <iostream>
using namespace std;
class Book {
public:
Book(string _name,string _num,double _price,double _overprice);
double sum();
private:
string name;
string num;
double price;
double overprice;
};
/********************************************************************/
Book::Book(string _name,string _num,double _price,double _overprice) {
name=_name;
num=_num;
price=_price;
overprice=_overprice;
}
double Book::sum() {
return price+overprice;
}
/*********************************************************************/
int main() {
Book book("面向对象C++","b110023",34.5,20.00);
cout<<"实际售价:"<<book.sum();
return 0;
}