【计算机类职业资格】二级C++模拟490及答案解析.doc
《【计算机类职业资格】二级C++模拟490及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟490及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 490 及答案解析(总分:156.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型2.有如下类和对象的定义: class Constants public: static double getPI() return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:1.00)A.coutconstants
2、-getPI();和 coutConstants:getPI();B.coutconstants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants.getPI();和 coutConstants:getPI();3.下面关于 break 语句的描述中,不正确的是(分数:1.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条
3、件判断语句内4.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为_。(分数:1.00)A.并运算B.交运算C.差运算D.积运算5.有如下类定义: class MyClass public: _ private: int data; ; 若要为 MyClass 类重载流输入运算符“”,使得程序中可以“cinobj;”的形式改变 MyClass 类的对象 obj 中数据成员 data 的值,则横线处的声明语句应为_。(分数:1.00)A.friend istreamB.friend istreamC.istreamD.istream6.下
4、列语句中,与语句“n=(ab?(bc?1:0);0);”的功能等价的是_。(分数:1.00)A.if(a=b)n=0;B.if(ab)|(bcn=1;else n=0;C.if(ab)if(bc)n=1;else n=;else n=0;D.if(ab)n=1;else if(b=c)n=1;else if(bc)n=1;else n=0;7.下列选项中不能作为 C 语言合法常量的是_。(分数:2.50)A.“cd“B.0.1e+6C.“/a“D.“/011“8.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象
5、f,试图打开文件 SALARY.DAT 并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件9.以下关于友元函数的叙述不正确的是((分数:2.50)A.友元函数提供了类之间数据共享的一个途径B.一个友元函数可以访问任何类的任何成员C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性10.语句 ofstream f(“SALARY.DAT“,ios:appl
6、ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且 _ 。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件11.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中
7、的保护成员在派生类中仍是保护成员12.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: void Display()/*函数体略*/ ; int main() Instrument s; Instrument*p=0; /; return 0; 下列叙述中正确的是_。(分数:1.00)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编
8、译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类13.在深度为 5 的满二叉树中,叶子节点的个数为(分数:2.00)A.32B.31C.16D.1514.下列关于派生类的描述中,错误的是 _ 。(分数:1.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变15.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,
9、v2);C.f(D.f(16.在面向对象方法中,不属于“对象”基本特点的是_。(分数:1.00)A.一致性B.分类性C.多态性D.标识唯一性17.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.floatD.long int18.C+类体系中,不能被派生类继承的有 _ 。(分数:1.00)A.构造函数B.虚函数C.静态成员函数D.赋值操作函数19.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int
10、m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3D.420.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象21.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是_。(分数:2.50)A.单链表B.循环链表C.双向链表D.二叉链表22.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator
11、+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1;D.c1-3;23.已知类 Base、Middle 和 Derived 的定义如下: class Base public: virtual void foo()cout“a“; ; class Middle:public Base public: void foo()cout“b“; ; class Derived:public Middle public: void foo()cou
12、t“c“; ; 且有如下程序段: Base* p1; Middle* p2; Derived d; p1= p1-foo(); p2= p2-foo(); 运行这个程序段的输出是_。(分数:2.50)A.aaB.bbC.ccD.ab24.有如下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)25.下列函数的运行结果是_。 #includei
13、ostream.h int f(int a,int b) int c; if(ab)c=1; else if(a=b)c=0; else c=-1; return(c); void main() int i=2,j=3; int p=f(i,j); coutp;(分数:2.50)A.-1B.1C.2D.编译出错,无法运行26.下列关于 C+流的表述中,正确的是_。(分数:2.50)A.与每个输入或输出设备的信息交换都可以通过流类来实现B.从流中获取数据的操作称为插入操作C.cin 是一个预定义的输入流类D.向流中添加数据的操作称为提取操作27.有如下程序: #includeiostream u
14、sing namespace std; class A public: A()cout“A“; ; class Bpublic:B()cout“B“; class C:public A B b; public: C()cout“C“; ; int main()C obj;return 0; 执行后的输出结果是_。(分数:2.50)A.ABCB.BACC.ACBD.CBA28.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber ope
15、rator-(int);D.int operator-(FunNumber,FunNumber);29.没有“int x=11;”,则表达式(x+*2/3)的值是_。(分数:2.50)A.7B.8C.11D.1230.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8D.631.不能作为函数重载的判断依据的是 _ 。(分数:2.00)A.constB.返回类型C.参数个数D.参数类型32.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream33.语句 couts
16、etfill(“)setw(4)setfill(“i“)setw(7)“m“endl;的输出结果为 _ 。(分数:2.00)A.iiiimmmmmmmB.iiiimmmmmmC.iiiimmmD.iiiiimm34.软件测试的目的是_。(分数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误35.下列关于二叉树的叙述中,正确的是_。(分数:1.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍36.下列关于数据库设计的叙述中,
17、正确的是_。(分数:1.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典37.有如下类定义: class MyBase int k; public: MyBase(int n=0): k(n) int value()const return k; ; class MyDefived: MyBase int j; public: MyDefived(int i): j(i) int getK()const return k; int getJ()const return j; ; 编译时发现有一处语法错误,对这个错误最
18、准确的描述是_。(分数:1.00)A.函数 getK 试图访问基类的私有成员变量 kB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDefived 的构造函数没有对基类数据成员 k 进行初始化38.在深度为 7 的满二叉树中,叶子结点的个数为(分数:2.00)A.32B.31C.64D.6339.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap=a)B.
19、*( /狗的颜色:黑、白、黄、褐、花、其他 enum DOGCOLOR BLACK, WHITE, YELLOW, BROWN, PIEBALD, OTHER; class Dog /狗类 DOGCOLOR color; char name20; static int count; public: Dog(char name, DOGCOLOR color) strcpy(this-name, name); /ERROR *found* strcpy(this-color, color); DOGCOLOR getColor()const return color; /ERROR *found
20、* const char*getName()const return*name; const char*getColorString()const switch(color) case BLACK: return “black“: case WHITE: return “white“: case YELLOW: return “yellow“: case BROWN: return “brown“: case PIEBALD: return “piebald“: return “motley“; void show()const cout“There is a“getColorString()
21、“dog named“name“.“endl: ; int main() /ERROR *found* Dog dog1(“Hoho“, WHITE), dog2(“Haha“, BLACK); dog3(“Hihi“, OTHER); dog1. show(); dog2. show(); dog3. show(); return 0; (分数:30.00)_三、简单应用题(总题数:1,分数:30.00)42.请使用 VC6 或使用【答题】菜单打开 proj2 下的工程 proj2,该工程中包含一个程序文件 main.cpp,其中有类 CPolygon(“多边形”)、CRectangle(“
22、矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为: 20 10 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 #include iostream using namespace std; class CPolygon public: / *found* _/纯虚函数 area 声明 void printarea (void) / *found* cout _ endl; ; class CRectangle: public CPolygon int width
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 490 答案 解析 DOC
