《04737 C++程序设计》模拟题一
答题时间:150 分钟 总题数:52 题 总分:100 分 类别:历年真题
1【单选】(总分1分)下列关于C++的特点的说法中,错误的是(B)
A、 C++语言是一种编译式的编程语言
B 、C++语言是一种专用的编程语言
C 、C++语言是一种大小写敏感的编程语言
D 、C++语言的应用领域十分广泛
[解析](P30)【考点点击】本题主要考查的知识点为C++的特点。【要点透析】C++语言是一种编译式的、通用的、大小写敏感的编程语言。
2【单选】(总分1分)下列关于string对象的说法中,错误的是(C)
A、string是一个类
B、string数据类型专门用于处理字符串
C、string对象之间不可以互相赋值
D、string对象可以使用cin进行输入
[解析](P52)【考点点击】本题主要考查的知识点为string对象的操作。【要点透析】string对象之间可以互相赋值,也可以用字符串常量和字符数组的名字对string对象进行赋值。
3【单选】(总分1分)声明函数为内联函数使用的关键字为(B)
A、const
B、inline
C、short
D、signed
[解析](P44)【考点点击】本题主要考查的知识点为内联函数的声明。【要点透析】使用关键字inline定义的函数称为内联函数。
4【单选】(总分1分)下列默认参数的声明不正确的是(C)
A、int max(int a,int b,int c,int d=0);
B、int max(int a,int b,int c=0,int d=0);
C、int max(int a=0,int b,int c=0,int d=0);
D、int max(int a,int b=0,int c=0,int d=0);
5【单选】(总分1分)以下关键字不能用来声明类的访问权限的是(C)
A、public
B、private
C、static
D、protected
[解析](P77)【考点点击】本题主要考查的知识点为声明类的访问权限的关键字。【要点透析】声明类的访问权限的关键有publie(公有)、private(私有)和protected(保护)。
6【单选】(总分1分)下列能声明为虚函数的是(D)
A内联函数
B友元函数
C构造函数
D析构函数
[解析](P247)【考点点击】本题主要考查的知识点为虚函数。【要点透析】常见的不能声明为虚函数的有全局函数(非成员函数)、静态成员函数、内联成员函数、构造函数和友元函数。
7【单选】(总分1分)(B)函数用于判断输入流是否已经结束。
A、getline()
B、eof()
C、ignore()
D、peek()
[解析](P294)【考点点击】本题主要考查的知识点为cin的成员函数。【要点透析】eof()用于判断输入流是否已经站束,其值为true则表示输入结束。
8【单选】(总分1分)下列关于二进制文件的说法中,错误的是(B)
A二进制文件中数据的存储格式与内存格式一致
B二进制文件中数据的存储长度不仅与数据类型相关,还与存储方式相关
C二进制数据流不会对写入或读出的数据做格式转换
D二进制数据文件的读/写完全由程序控制
[解析](P312)【考点点击】本题主要考查的知识点为二进制文件的读写。【要点透析】二进制文件中数据的存储格式与内存格式一致,存储长度仅与数据类型相关。
9【单选】(总分1分)友元函数的主要作用是(A)
A提高程序的效率
B加强类的封装性
C实现数据的隐蔽性
D增加成员函数的种类
[解析](P129)【考点点击】本题主要考查的知识点为友元函数的主要作用。【要点透析】友元的概念破坏了类的封装性和信息隐藏,但有助于数据共享,能够提高程序执行的效率。友元函数的主要作用就是提高程序的效率。
10【单选】(总分1分)类模型结构图不包括(A)
A对象名
B类名
C操作
D属性
[解析](P64)【考点点击】本题主要考查的知识点为类模型结构图。【要点透析】类模型结构图主要包括类名、属性和操作。
11【单选】(总分1分)下列关于构造函数的描述中,错误的是(C)
A构造函数可以设置默认参数
B构造函数在声明类对象时自动执行
C构造函数可以对静态数据成员进行初始化
D构造函数可以重载
[解析](P110)【考点点击】本题主要考查的知识点为构造函数。【要点透析】构造函数不能对静态数据成员进行初始化,静态数据成员要在类体外进行化。
12【单选】(总分1分)下面选项中不是类成员函数的是(C)
A构造函数
B析构函数
C友元函数
D静态函数
[解析](P129)【考点点击】本题主要考查的知识点为友元函数。【要点透析】友元函数不是当前类的成员函数,而是独主于当前类的外部函数,但它可以访问该类的所有成,包括私有成员、保护成员和公有成员。
13【单选】(总分1分)基类中的protected成员,通过(B)派生,其在派生类中的可见性为protected。
A、public和private
B、public和protected
C、protected和private
D、仅protected
14【单选】(总分1分)在C++语言中,包含以下哪种语句的函数不能声明为内联函数(D)
A、变量定义
B 、if……else
C、位操作
D、switch
[解析](P45)【考点点击】本主要考查的知识点为内联函数。【要点透析】C++中,含有循环语句、switch语句的函数不能声明为内联函数。
15【单选】(总分1分)对于类定义,下面正确的叙述是(C)
A、A::func2()和B::func1()都是虚函数
B、A::func2()和B::func1()都不是虚函数
C、B::func1()是虚函数,而A::func2()不是虚函数
D、B::func1()不是虚函数,而A::func2()是虚函数
[解析](P246)【考点点击】本题主要考查的知识点为虚函数。【要点透析】基类定义了虚函数,在派生类中只要有同样的函数(返回值相同,函数名相同,形参个数相同,类型相同),即使没有virtual修饰,该函数也是虚函数。基类func1是虚函数,与派生类func1相同,所以派重奥func1也是虚函数。func2在基类中是通函数,在派生类中是虚函数。
16【单选】(总分1分)下列标识符中正确的是(A)
A、abc
B、3ab
C、int
D、+ab
[解析]C++的标识符由字母、下划线和数字组成,而且第一个字符不能为数字。标识符不能与关键字同名。
17【单选】(总分1分)C++中类的成员默认为(B)
A、public
B、private
C、protected
D、static
[解析]访问权限用于控制对象的某个成员在程序中的可访问性,如果没有使用关键字,则所有成员默认声明为 private权限。
18【单选】(总分1分)已知类A是类B的友元,类B是类C的友元,则(D)
A类A一定是类C的友元
B类C一定是类A的友元
C类C的成员函数可以访问类B的对象的任何成员
D类A的成员函数可以访问类B的对象的任何成员
19【单选】(总分1分)实现两个相同类型数加法的函数模板的声明是(D)
A、add (T x, T y)
B、T add (x, y)
C、T add (T x, y)
D、T add (T x, T y)
[解析]实现两个相同类型数的加法,结果应该和操作数具有相同类型A项无返回值要用void,B形参无类型,C项形参y没有类型
20【单选】(总分1分)下列叙述中,错误的是(D)
A、ios:binary的作用是以二进制方式打开文件
B、ios_base::in的作用是以读方式打开文件
C、ios_base::ate的作用是打开一个已有的文件并将文件读指针指向文件末尾
D、ios_base::out的作用是打开文件进行读操作
[解析] ios_base out作用是打开文件进行写操作
21【填空题】(总分1分)在C++语言中函数参数有两种传递方式:传引用和________。
正确答案是:
22【填空题】(总分1分)在面向对象程序设计中,不同的对象可以调用相同名称的函数并导致完全不同的行为的现象称为________。
正确答案是:
23【填空题】(总分1分)在C++中,可以定义不是任何类的成员函数,这样的函数可称为________。
正确答案是:
24【填空题】(总分1分)C++语言规定,创建类的任何对象时都一定会调用________进行初始化。
正确答案是:
25【填空题】(总分1分)________就是给已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时产生不同的行为。
正确答案是:
26【填空题】(总分0分)若有一个Myclass类,则执行语句“MyClass obj1,obj2[2],*p;”后,自动调用该类的构造函数________次。
正确答案是:
27【填空题】(总分1分)重载函数在参数类型或参数个数上不同,但________必须相同。
正确答案是:
28【填空题】(总分1分)指向常量的指针是在非常量指针声明前使用关键字________。
正确答案是:
29【填空题】(总分1分)________的作用是使用一个已存在的对象去初始化另一个正在创建的对象。
正确答案是:
30【填空题】(总分1分)对于无返回值函数,定义函数时要用________修饰函数类型。
正确答案是:
31【填空题】(总分1分)要关闭一个输出流对象myFile,所用的C++语句是________。
正确答案是:
32【填空题】(总分1分)string类中用于查找字符串中是否含有某一字符串的成员函数的第1个参数是______。
正确答案是:
33【填空题】(总分1分)私有派生时,在派生类中基类的 public权限变为______。
正确答案是:
34【填空题】(总分1分)如果要把类B的成员函数 void fun()说明为类A的友元函数,则应在类A中加入语句______。
正确答案是:
35【填空题】(总分1分)在C++语言中, ostream类的对象______用来实现基本的屏幕输出。
正确答案是:
36【填空题】(总分1分)在对象消亡时将自动调用______。
正确答案是:
37【填空题】(总分1分)假定类AB中有一个公用属性的静态数据成员 static int bb;在类外不通过对象名给该成员bb赋值为10的写法为______。
正确答案是:
38【填空题】(总分1分)每个对象都是所属类的一个______。
正确答案是:
39【填空题】(总分1分)局部对象和全局对象中,在同一程序中______生存期最长
正确答案是:
40【填空题】(总分1分)在类体内定义类的成员时,在前面添加______关键字后,该成员即成为静态成员。
正确答案是:
41【填空题】(总分1分)在使用 string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是______。
正确答案是:
42【程序填空题】(总分3分)以下程序输出“a=10,b=5”,请将程序补充完整
正确答案是:
43【程序填空题】(总分3分)以下程序输出“0,15,0”,请将程序补充完整
正确答案是:
44【程序填空题】(总分3分)以下程序输出5.3,请将程序补充完整
查看题干
正确答案是:
45【程序填空题】(总分3分)以下程序输出“0,5,5”,请将程序补充完整
正确答案是:
46【程序填空题】(总分3分)以下程序输出12,请将程序补充完整
正确答案是:
47【程序分析题】(总分6分)给出以下程序的输出结果
正确答案是:
48【程序分析题】(总分0分)给出以下程序的输出结果
正确答案是:
49【程序分析题】(总分6分)给出以下程序的输出结果
#include <iostream>
using namespace std;
正确答案是:
50【程序分析题】(总分6分)给出以下程序的输出结果
正确答案是:
51【程序设计题】(总分10分)已有复数类Complex和函数main(),编写一个类Root来实现求解一元二次方程的程序
查看解析
52【程序设计题】(总分10分)写一个程序,定义一个抽象类 Shape,由它派生个类: Square(正方形) Trapezoid(梯形)和Triangle(三角形)。用虚函数分别计算几种图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象
正确答案是:
查看解析