[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc

上传人:explodesoak291 文档编号:502435 上传时间:2018-11-29 格式:DOC 页数:35 大小:96KB
下载 相关 举报
[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc_第1页
第1页 / 共35页
[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc_第2页
第2页 / 共35页
[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc_第3页
第3页 / 共35页
[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc_第4页
第4页 / 共35页
[计算机类试卷]国家二级(C++)机试模拟试卷161及答案与解析.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、国家二级( C+)机试模拟试卷 161及答案与解析 一、选择题 1 下列数据结构中,不能采用顺序存储结构的是 ( )。 ( A)非完全二叉树 ( B)堆 ( C)队列 ( D)栈 2 下列叙述中错误的是 ( )。 ( A)二叉链表是二叉树的存储结构 ( B)循环链表是循环队列的存储结构 ( C)栈是线性结构 ( D)循环队列是队列的存储结构 3 设一棵树的度为 4,其中度为 4, 3, 2, 1的结点个数分别为 2, 3, 3, 0。则该棵树中的叶子结点数为 ( )。 ( A) 16 ( B) 15 ( C) 17 ( D)不可能有这样的树 4 循环队列的存储空间为 Q(1: 100),初始状

2、态为 front=rear=100。经过一系列正常的入队与退队操作后, front=rear=99,则循环队列中的元素个数为 ( )。 ( A) 1 ( B) 2 ( C) 99 ( D) 0或 100 5 某系统结构图如下图所示 该系统结构图的宽度是 ( )。 ( A) 5 ( B) 4 ( C) 2 ( D) 1 6 软件测试用例包括 ( )。 ( A)被测程序和测试规程 ( B)测试计划和测试数据 ( C)输入数据和预期输出 结果 ( D)输入数据和输出数据 7 软件生存周期中,解决软件 “怎么做 ”的阶段是 ( )。 ( A)软件设计 ( B)需求分析 ( C)软件测试 ( D)可行性

3、研究 8 用树型结构表示实体之间联系的模型是 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)运算模型 9 关系数据模型的三个组成部分中不包括 ( )。 ( A)关系的完整性约束 ( B)关系的数据操纵 ( C)关系的数据结构 ( D)关系的并发控制 10 现有表示患者和医疗的关系如下: P(P#, Pn, Pg, By),其中 P#为患者编号,Pn为患者姓名, Pg为性别, By为出生日期, Tr(P#, D#, Date, Rt),其中 D#为医生编号, Date为就诊日期, Rt为诊断结果。检索在 1号医生处就诊的病人姓名的表达式是 ( )。 ( A) Pn(P#

4、(D#=1(Tr) P) ( B) P#(D#=1(Tr) ( C) Pn(P) ( D) Pn(Tr P) 11 下列选项中,不属于 C+关键字的是 ( )。 ( A) namespace ( B) public ( C) struct ( D) abstract 12 下列数组定义中错误的是 ( )。 ( A) char s5=“ABCDE“; ( B) char s6=“ABCDE“; ( C) char s7=“ABCDE“; ( D) char s=“ABCDE“; 13 下列语句中,未起到定义作用的是 ( )。 ( A) char ch; ( B) void fun(); ( C)

5、 int y=2015; ( D) typedef double price; 14 下列程序段的作用是计算正整数 n的各位数字的平方和,则横线处 缺失的内容是 ( )。 in tn=1234, sum=0; do sum+=_; n=n 10; while(n!=0); ( A) (n 10)*(n 10) ( B) (n 10)*(n 10) ( C) (n 10)*(n 10) ( D) (n 10) 15 有如下函数原型 long f(double d); 则在保持语义不变的前提下,可以省略的部分是 ( )。 ( A) long ( B) f ( C) double ( D) d 16

6、 下列关于函数默认参数的叙述中, 正确的是 ( )。 ( A)在调用函数时,默认参数必须省略 ( B)默认参数应从右至左逐个定义 ( C)若有多个默认参数,调用时可以省略其中任何一个或多个 ( D)默认参数必须在函数定义中设置 17 下列关于函数的叙述中,正确的是 ( )。 ( A)函数体中只能出现一条 return语句 ( B)重载函数可以有相同的返回值类型 ( C)函数的默认参数可以随意定义 ( D)函数定义和调用没有先后次序要求 18 下列运算符中,可以重载为非成员函数的是 ( )。 ( A) = ( B) ( C) ( D) () 19 下列关于内联函数的叙述中,错误的是 ( )。 (

7、 A)编译系统有可能将一个声明为内联的函数处理成非内联函数 ( B)只有用 inline声明的函数才是内联函数 ( C)在类体中直接给出函数体的函数是内联函数 ( D)调用内联函数的格式与调用一般函数相同 20 有如下程序; #include iostream using namespace std; void hey(_, int&b) int c; c=a; a=b; b=c; int main() int m=14, n=20; hey(m, n); cout m n; return0; 运行后的输出结果是 “1414”,则横线处的语句应为 ( )。 ( A) int*a ( B) in

8、t&a ( C) int a ( D) a 21 有如下程序: #include iostream using namespace std; void f(int i)cout i ; void f(double d)tout d*2 ; int main() f(3 0): f(3); return0; 运行后的输出结果是 ( )。 ( A) 6 3 ( B) 6 0 3 ( C) 3 6 ( D) 3 6 0 22 有如下程序: #include iostrealn using namespace std; class Goods货物类 double unit_price;单价 int q

9、uantity;数量 public: Goods(double u=0 0, int q=0): unit_price(u), quantity(q) double getPrice()constreturn unit_price; 返回单价 int getQuantity()constreturn quantity; 返回数量 增加数量 Goods operator+(int q)constreturn Goods(unit_price, quantity+q); ; 增加数量 Goods operator+(_)return g+q; 输出货物信息 0stream&operator (os

10、tream& oS, Goods g) cout “单价: “ g getPrice() , “数量: “ g getQuantity()endl; return os; ; int main() Goods g(35 6, 100); cout g g+33 25+g; return0; 若运行后的输出结果是 ( )。 单价: 35 6,数量: 100 单价: 35 6,数量: 133 单价: 35 6,数量: 125 则程序中下划线处缺失部分应该是 ( )。 ( A) Goods q, Goods g ( B) Goods g, Goods q ( C) int q, Goods g (

11、D) Goods g, int q 23 下列关于常成员的叙述中,正确的是 ( )。 ( A)常成员函数只能由常对象调用 ( B)常成员函数不能更新对象的状态 ( C)常数据成员可以被类对象共享 ( D)常数据成员可以在构造函数体中初始化 24 有如下类定义: class MyClass int k; public: MyClass(int n): k(n) ; 则下列数组定义中,错误的是 ( )。 ( A) MyClass m44=MyClass(1), MyClass(2), MyClass(3), MyClass(4); ( B) MyClass m4=MyClass(1), MyCla

12、ss(2), MyClass(3); ( C) MyClass m44=1, 2, 3; ( D) MyCtass m4=1, 2, 3; 25 若 count为类 Toy中的静态数据成员, obj为类 Toy的一个对象,则在该类的成员函数中访问 vount时,错误的是 ( )。 ( A) count ( B) obj count ( C) Toy count ( D) Toy: count 26 下列关于继承的叙述中,错误的是 ( )。 ( A)在公有继承中,基类中的公自成员对派生类对象可见 ( B)在私有继承中,基类中的公有成员对派生类对象可见 ( C)在公有继承中,基类中的私有成员对派生

13、类对象不可见 ( D)在私有继承中,基类中的所有成员对派生类对象都不可见 27 下列关于抽象类的叙述中,错误的是 ( )。 ( A)不能定义抽象类对象 ( B)抽象类中一定包含纯虚函数 ( C)抽象类的派生类一定不是抽象类 ( D)抽 象类的构造函可以是 protected函数 28 派生类构造函数的初始化列表中,可以包含 ( )。 ( A)对基类构造函数的调用 ( B)对基类中数据成员的初始化 ( C)对基类中成员对象的初始化 ( D)对基类中静态数据成员的初始化 29 有如下程序段: #include iostream using namespace std; class A public

14、: int data; static int data2; void show() cout data endl: 1 cout data2 endl: 2 static void print() cout data endl: 3 tout data2 endl: 4 ; int A: data2=8: 编译时出错的语句的编号是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 30 有如下程序: #include iostream using namespace std; class pool public: pool(): sum(0) void add(int cur)

15、 sum+=cur; int sum; ; class derived: pool public: void add(int*array, int cnt) for(int i=0; i cnt; +i) pool: add(arrayi); ; 下列叙述中,正确的是 ( )。 ( A)派生类 derived实现了对基类 pool的成员函数 add的重载 ( B)派生类 derived是通过公有继承方式进行继承 ( C)编译错误, derived类无法访问 pool中的 add函数 ( D)对函数 add的调用是多态的 31 有如下程序段: #include iostream using na

16、mespace std; class base public: base(int cnt) resource=new intent; base() deleteresource; virtual void show() cout “base“ endl; int*resource: ; class derived: public base public: derived(int cnt): base(cnt) resource=new floatcnt; derived() deleteresource; void show() cout “derived“ endl; float*resou

17、rce; ; 上述程序使得 derived对象中的动态内存空间有可能不被释放,有内存泄漏风险,原因是 ( )。 ( A) base类是抽象类 ( B) derived类的析构函数没有释放基类的动态内存 ( C) base类的析构函数不 是虚函数 ( D) derived类的 reSotlrce与公有继承得到的 resource同名 32 有如下程序: #include iostream class A public: A(int n=2): m_i(n) A()std: cout m_i; protected: int m_i; ; class B: public A public: B(in

18、t n): m_a2(n), m_al(m_i+1) public: B() std: cout m_i; -m_i; private: A m_a1; A m_a2: ; int main() B b(5); return0; 运行后的输出结果是 ( )。 ( A) 2351 ( B) 2531 ( C) 5354 ( D) 5534 33 有如下程序: #inelude iostream class A public: A(int n=0): m_n(n) std: cout d; A(const A& a): m_n(a m_n) std: cout c; private: int m_

19、n; ; int main() A a(2), b; const A c(a), &d=c, e=b; b=d; return0; 运行后的输出结果是 ( )。 ( A) ddcd ( B) ddcc ( C) ddccd ( D) dddcc 34 有如下程序: #include iostream using namespace std; class R public: R(int r1, int r2): r1(r1), r2(r2) void print(); void print()const; private: int r1, r2; ; void R: print() cout r

20、1 “: “ r2 endl; void R: print()const cout r1 “ “ r2 endl; int main() R a(5, 4); a print(); const R b(20, 52); b print(); return0; 运行后的输出结果是 ( )。 ( A) 5: 4 20, 52 ( B) 5: 4 20: 52 ( C) 5, 4 20, 52 ( D) 5, 4 20: 52 35 有如下程序: #include iostream using namespace std; class Base public: Base() Fuction(); v

21、irtual void Fuction() cout “Base: Fuction“ endl: ; class Derived: public Base public: Derived() Fuction(); virtual void Fuction() cout “Derived: Fuction“ endl: ; int main() Derived a; return0; 运行后的输出结果是 ( )。 ( A) Base: Function Derived: Function ( B) Base: Function Base: Function ( C) Derived: Funct

22、ion ( D) Base: Function 36 有如下程序: #include iostream using namespace std; class Vehicle public: virtual int wheels()constreturn0; ; class Car: public Vehicle public: int wheels()constreturn4; ; void f1(Vehicle v)cout v wheels() ; void f2(Vehicle &V)cout v wheels() ; void f3(Vehicle*pv)cout pv- wheels

23、() ; int main() Car c; f1(c); f2(c); f3; (&c); return0; 运行后的输出结果是 ( )。 ( A) 4 4 4 ( B) 0 4 4 ( C) 4 0 4 ( D) 4 4 0 37 下列关于模板参数的叙述中,错误的是 ( )。 ( A)模板参数可以有多个 ( B)模板参数是参数化的类型 ( C)关键字 class可以修饰模板参数 ( D)模板参数可以是一个算术表达式 38 已知函数模板定义如下: template class T T min(T x, T y) return x y x: y; 不能由该函数模板得到的函数实例是 ( )。 (

24、 A) int min(int, int) ( B) char min(char, char) ( C) double min(int, double) ( D) double min(double, double) 39 为了使用 setw设置输出宽度,必须在程序中包含头文件 ( )。 ( A) iostream ( B) iomainp ( C) fstream ( D) string 40 下列文件流类的成员函数中,对文件进行写操作的是 ( )。 ( A) read ( B) write ( C) get ( D) tellg 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考

25、生文件夹 proj1下的工程 proj1,该工程含有一个源程序文件 proj1 cpp。其中位于每个注释 “ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The value is10 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include iostrearn using namespace std; class NyClass int value; public: ERROR*found* void MyClass(int val): value(val) int GetVa

26、lue()constreturn value; void SetValue(int val); ; ERROR *found* inline void SetValue(int val)value=val: int main() MyClass obj(0); obj SetValue(10); ERROR*found*下列语句功能是输出 obj的成员 value的值 cout “The value is“ obj value end1; return0; 三、简单应用题 42 请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2。此工程中包含一个源程序文件 main

27、 cpp,其中有 “房间 ”类 Room及其派 生出的 “办公室 ”类 Office的定义,还有主函数 main的定义。请在程序中 “ *found*”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 办公室房间号: 308 办公室长度: 5 6 办公室宽度: 4 8 办公室面积: 26 88 办公室所属部门:会计科 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 #jnclude iostream using namespacestd; class Room “房间 ”类 int room_no;房间号 d

28、ouble length;房间长度 (m) double width;房间宽度 (m) public: Room(int the_room_no, double the_length, double the_width):room_no(the_room_no), length(the_length), width(the_width) int theRoomNo()constreturn roomn_o; 返回房间号 double theLength()constreturn length; 返回房间长度 double theWidth()constreturn width; 返回房间宽度

29、*found* double theArea()const_返回房间面积 (矩形面积 ) ; class Office: public Room “办公室 ”类 char*depart;所属部门 public: Office(int the_room_no, doublethe_length, double the_width, const char*the_depart) *found* : _ depart=new charstrlen(the_depart)+1; *found* strcpy(_); Office()deletedepart; const char, IctheDepa

30、rtment()constreturn depart; 返回所属部门 ; int main() *found* Office_; cout “办公室房间号: “ an_office theRoomNo() endl “办公室长度: “ an_office theLength() endl “办公室宽度: “ an_office theWidth() endl “办公室面积: “ an_office theArea() endl “办公室所属部门: “ an_office theDepartment() endl; return0; 四、综合应用题 43 使用 VC6打开考生文件夹 proj3下

31、的工程 proj3,其中声明了 MyString类,它是一个用于表示字符串的类。成员函数 reverse将字符串反转,例如 “abcde”反转后就成了 “edcba”。请补充完整函数 reverse。在 main函数中给出了一个测试数据,此情况下程序的输出应该是: This is a string gnirts a si sihT 注意:只需在函数 reverse的 *333*和*666*之间填入若干语句,不要改动程序中的其他内容。 MyString h #include iostream using namespace std; char*dup(const char*); class My

32、String char*str: public: MyString(const char*s=“ “): str(dup(s) MyString(const MyString&m): str(dup(m str) MyString()deletestr; void reverse(); void show(ostream &os=cout)constos str endl; ; inline ostream&operator (ostream&os, const MyString&m) m show(os); return os; void writeToFile(const char*pat

33、h); MyString cpp #include“MyString h“ char*dup(constchar*s) char*p=new charstden(s)+1; strcpy(p, s); return p; void MyString: reverse() *333* *666* void writeToFile(const char*path); writetoFile cpp #include fstream #include“MyString h“ void writeToFile(const char*path) char full50; strcpy(full, pat

34、h); strcat(full, “out dat“); ofstream outfile(full); if(outfile fail()CelT “打开输出文件失败 !“; return; MyString m1=“This is another string“: MyString m2(“字符串反转演示 “); outfile m1 m2; m1 reverse(); m2 reverse(); ouffile m1 m2: outfile close(); 国家二级( C+)机试模拟试卷 161答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 根据完全二叉树的性质 6,满二叉

35、树和完全二叉树可以按层序进行顺序存储,但一般的二叉树不适用。堆可以用一维数组来存储也可以用完全二叉树来直观地表示堆的结构。队列、栈本身就是顺序存储的。故本题答案为 A选项。 2 【正确答案】 B 【试题解析】 循环队列是队列的一种顺序存储 结构,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。循环链表是用不连续的存储单元存储数据,它有一个表头结点,队头指针指向表头结点,最后一个结点的指针域指向表头结点。二叉链表是树的二叉链表实现方式。栈是一种特殊存取方式的线性表。故本题答案为 B选项。 3 【正确答案】 A 【试题解析】 根据题目,树的结点数 =42+

36、33+23+10+根结点=8+9+6+0+1=24,即总结点数为 24,总结点数减去度不为 O的结点数即是叶子结点, 24-(2+3+3)=16。故 本题答案为 A选项。 4 【正确答案】 D 【试题解析】 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。在循环队列中进行出队、人队操作时,头尾指针仍要加 1,朝前移动。只不过当头尾指针指向向量上界时,其加 1操作的结果是指向向量的下界 0。由于人队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。故本题答案为 D选项。 5 【正确答案】 A 【试题解析】

37、系统结构图的宽度指整体控制跨度 (横向最大模块数 )的表示。 本题中,模块数最多的是第 3层,即 “功能 X X”的模块个数就是宽度,有 5个。故本题答案为 A选项。 6 【正确答案】 C 【试题解析】 测试用例 (Test Case)是为测试设计的数据,由测试输入数据和与之对应的预期输出结构两部分组成。故本题答案为 C选项。 7 【正确答案】 A 【试题解析】 软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即解决软件 “怎么做 ”的问题。故本题答案为 A选项。 8 【正 确答案】 B 【试题解析】

38、用树形结构表示实体及其之间联系的模型称为层次模型。在层次模型中,结点是实体,树枝是联系,从上到下是一对多的关系。故本题答案为 B选项。 9 【正确答案】 D 【试题解析】 关系数据模型的三个组成部分:数据结构,操作集合 (数据操纵 ),完整性约束。故本题答案为 D选项。 10 【正确答案】 A 【试题解析】 表示投影运算,针对属性; 表示选择运算,针对元组; 表示自然连接。首先在 Tr表中选择 D#为 1的记录 D#=1(Tr),并检索这些记录中患者的编号 P#(D#(Tr),检索结果与表 P进行自然连接生成中间表P#(D#=1(Tr) P,最后在中间表中检索患者的姓名 Pn(P#(D#=1(

39、Tr) P)。故本题答案为 A选项。 11 【正确答案】 D 【试题解析】 namespace是定义命名空间的关键字,选项 A正确; public关键字在类定义体中指定公共成员,在类继承体系中指定公有继承,选项 B正确; struct关键字定义结构体类型,选项 C正确; adstruct不属于 C+关键字,选项 D错误。故本题答案为 D选项。 12 【正确答案】 A 【试题解析】 常量字符串 “ABCDE”中,结尾还保存一个空字符 0,总共有 6个字符,所以字符数组 s使用常量字符串初始化时, s的数组大小必须大于等于6,选项 B、 C正确;另外在对字符数组初始化时,若省略数组长度,系统会默认

40、将数组长度设置为常量字符串的长度 6,选项 D正确;选项 A中数组长度 5不够容纳该常量字符串,所以 A错误。故本题答案为 A选项。 13 【正确答案】 B 【试题解析】 选项 A定义一个字符变量 ch;选项 C定义整型 y,并初始化为2015;选项 D定义一种类型名 price,该类型等价于 double;选项 B声明了函数fun,该函数没有参数,没有返回值,声明不是定义,选项 B错误。故本题答案为B选项。 14 【正确答案】 A 【试题解析】 题意要求计算正整数 n的各个数字的平方和,并将平方和存放到sum中,所以首先需要获取 n的各个位上的数字,程序通过 dowhile() 循环,每次循

41、环取出 n的一位数字,数字平方后累加到 sum中,然后语句 n=n 10将 n的个位数字去掉,并将去掉个位数字的值重新赋给 n,进入下一轮循环,直到 n为0,可知:横线部分需要在 n去掉个位数字前,得到 n的个位数字并平方,累加到sum中,要想获得一个正整数的个位数字,只需要将 n对 10求模即可,所以答案为 (n 10)*(n 10)。故本题答案为 A选项。 15 【正确答案】 D 【试题解析】 由语句: long f(long d);可知:第一个 long表示函数的返回值; f表示函数名;第二个 long表示参数类型; d表示参数名;又由语句最后的分号可知:这条语句是一个函数声明语句,在函

42、数声明语句中,可以省略参数名,所以本题可以省略参数名 d。故本题答案为 D选项。 16 【正确答案】 B 【试题解析】 函数参数中,如果有一个形参是 默认参数,那么它后面所有的形参都必须是默认参数,也就是说默认参数应自右至左逐个定义,选项 B正确;调用包含默认参数的函数时,可以为该形参提供实参,也可以不提供,选项 A错误;若有多个默认参数,在函数调用时,其中一个参数使用了默认值,那么后面所有的参数都必须使用默认值,选项 C错误;既可以在函数声明也可以在函数定义中指定默认参数,但是一个文件中,只能为一个形参指定默认参数一次,选项 D错误。故本题答案为 B选项。 17 【正确答案】 B 【试题解析

43、】 函数可以有多条 return语句,但只有一条语句被执行,选项 A错误;出现在相同作用域中的两个函数,如果具有相同的函数名,而形参表不同,称为重载函数,所以重载函数可以有相同的返回值类型,选项 B正确;函数参数中,如果有一个形参是默认参数,那么它后面所有的形参都必须是默认参数,也就是说默认参数应自右至左逐个定义,而不能随便定义,选项 C错误;函数和变量一样,在调用 (使用 )前必须先定义,选项 D错误。故本题答案为 B选项。 18 【正确答案】 B 【试题解析】 赋值操作符 =、下标操作符 和箭头操作符一必须定义为类成员函数,而输入输出操作符可以定义为非成员函数。故本题 答案为 B选项。 1

44、9 【正确答案】 B 【试题解析】 内联函数的内联说明对于编译器来说只是一个建议,编译器可以选择忽略这个建议,所以编译系统有可能将一个声明为内联的函数处理成非内联函数,选项 A正确;除了使用 inline声明的函数是内联函数,在类定义体内直接给出函数体的函数也是内联函数,选项 B错误,选项 C正确;调用内联函数的格式与调用一般函数相同,选项 D正确。故本题答案为 B选项。 20 【正确答案】 C 【试题解析】 题意 main()函数中,首先定义整型变量 m为 14, n为 20,然后调用 hey()函数,传入 m、 n,然后输出时, m的值 14不变, n的值为 14;再看 hey()函数中,

45、通过临时变量 c,将传入的两个参数 a、 b的值进行交换;再者,参数 b是引用变量,所以 b的值修改,导致实参 n的值也被修改,由 main()函数中 m的值不变, n的值变为 14,可知 hey()函数中形参 a(对应实参 m)应该是一个普通变量,而不是引用类型或指针类型,所以选项 A、 B错误, C正确;另外对于参数,必须给出参数的类型,所以选项 D错误故本题答案为 C选项。 21 【正确答案】 A 【试题解析】 程序定义两个重载函数 f(),其中一个接受整型参数,输出该参数;另一个接受 double类型参数,输出该参数的 2倍; main()函数中首先调用 f()函数时传入 3 0,输出

46、 3 0的两倍,由于 ANSI C+里规定,一个浮点数若小数部分是 0,则直接输出不带小数点,所以此时程序输出 6,同理,后一个传入参数3,输出 3。故本题答案为 A选项。 22 【正确答案】 C 【试题解析】 题意中, Goods类的构造函数接收一个 double参数 u和一个整型参数 q,并使用它们初始化两个成员变量: unit_price和 quantity。两个普通常量成员 函数: getPriee()常量函数和 getQuantity()常量函数,分别返回 unit_price和quantity的值;重载加号运算符成员函数接收一个整型 q,将 q的值加到 quantity成员上;在类定义体外,还有一个重载输出运算符函数,它通过 Goods对象的成员函数输出 Goods对象的两个成员; main()函数中,首先构造 Goods对象 g,然后调用重载输出运算符函数输出 g、 g+33和 25+g:输出 g

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1