【计算机类职业资格】二级C++分类模拟276及答案解析.doc
《【计算机类职业资格】二级C++分类模拟276及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟276及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 276及答案解析(总分:75.00,做题时间:90 分钟)一、选择题(总题数:40,分数:75.00)1.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass(int x):val(X) void Set(int X)val=x; void Print()constcout“val=“val“/t“; private: int val; ; int main() const MyClass obj1(10); MyClass obj2(20); obj1.Print(); /语句
2、 1 obj2.Print(); /语句 2 obj1.Set(20); /语句 3 obj2.Set(30); /语句 4 return 0; 其主函数中错误的语句是_。(分数:2.00)A.语句 1B.语句 2C.语句 3D.语句 42.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装B.自顶向下C.模块化D.逐步求精3.若有下面的函数调用: fun(a+b,3,max(n-1,b) 则 fun的实参个数是_。(分数:1.00)A.3B.4C.5D.64.有如下程序: #includeiostream using namespace std; class B publ
3、ic: virtual void f()cout“B“; void g()cout“B“; ; class D:public B public: void f()cout“D“; void g()cout“D“; ; void h(B* p)p-f(); p-g(); int main() D obj; h( return 0; 运行这个程序的输出结果是_。(分数:2.50)A.DDB.BBC.BDD.DB5.下列选项中合法的用户标识符是 _ 。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat6.若有如下程序: #includeiostream using narnespa
4、ce std; class TestClass public: void who()cout“TestClass“endl; ; class TestClassl: public TestClass public: void who()cout“TestClass1“endl; int main() TestClass*p; TcstClass1 obj1; p=obj1; p-who(); return 0; 则该程序运行后的输出结果是_。(分数:1.00)A.TestClasslB.TestClassC.0D.无输出7.若已经声明了函数原型“void fun(int a,double b=
5、0.0);”,则下列重载函数声明中正确的是_。(分数:3.00)A.void fun(int a=90,double b=0.0);B.int fun(int a,double );C.void fun(double a,int );D.bool fun(int a,double b=0.0);8.有如下函数模板定义: templatetypename T1,typename T2 T1 FUN(T2 n)return n*5,0; 若要求以 int型数据 9作为函数实参调用该模板,并返回一个 double型数据,则该调用应表示为_。(分数:2.50)A.FUN(9)B.FUN9C.FUNdo
6、uble(9)D.FUN9(double)9.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“;) ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVED x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE10.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:1.00)
7、A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数11.在数据结构中,从逻辑上可以把数据结构分成 _ 。(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树状结构和图状结构12.C流中重载的运算符是一个(分数:1.00)A.用于输出操作的非成员函数B.用于输入操作的非成员函数C.用于输出操作的成员函数D.用于输入操作的成员函数13.在下列字符中,不允许作为 C+标识符
8、的是_。(分数:2.50)AbBBC._D.214.有如下程序: #includeiostream using namespace std; class A public: static int a; void init() a=1; A(int a=2) init(); a+; ; int A:a=0: A obj; int main() coutobj. a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.315.有如下程序: #include iostream using namespace std; class test private: int a
9、; public: test( )cout“constructor“endl; test(int A) coutaendl; test(const test _test) a=_testa; cout“copy constructor“endl; test()cout“destructor“endl; ; int main( ) test A(3) return 0; 程序的输出结果是(分数:2.00)A.3destructorB.constructordestructorC.copy constructordestructorD.316.下列叙述中正确的是_。(分数:1.00)A.顺序存储结
10、构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间17.下列是 if语句的基本形式: if(表达式)语句 其中“表达式”_。(分数:2.50)A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式18.下列语句中,错误的是_。(分数:2.00)A.const int buffer=256;B.const int temp;C.const double *point;D.const dou
11、ble *rt=new double(5.5);19.下列关于 C+与 C语言关系的描述中错误的是_。(分数:2.50)A.C+是 C语言的超集B.C+对 C语言进行了扩充C.C+包含 C语言的全部语法特征D.C+与 C语言都是面向对象的程序设计语言20.下列程序的运行结果为_。 #includeiostream.h templateclass TT class FF TT a1,a2,a3; public: FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3; TT Sum()return a1+a2+a3; void main() FFintx(int(1.1),
12、2,3),y(int(4.2),5,6);coutx.Sum()“y.Sum()endl;)(分数:1.00)A.6.1 15.2B.6 15C.6 15.2D.6.1 1521.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是_。(分数:2.50)A.外模式B.内模式C.概念模式D.逻辑模式22.有 3个关系 R,S 和 T如下表所示: (分数:2.00)A.选择B.投影C交D并23.下面内容不属于使用软件开发工具好处的是 _ 。(分数:1.00)A.减少编程工作量B.保证软件开发的质量和进度C.节约软件开发人员的时间和精力D.使软件开发人员将时间和精力花费在程序的编制和调试上24
13、.下列关于运算符函数的描述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数25.要通过函数实现一种不太复杂的功能,并且要求加快执行速度,则应该选用(分数:2.00)A.重载函数B.内联函数C.静态函数D.虚函数26.设树 T的度为 4,其中度为 1、2、3、4 的结点个数分别为 4、2、1、1,则 T中的叶子结点数为_。(分数:2.00)A.8B.7C.6D.527.下列关于重载函数的调用时选择的依据中,错误的是 _ 。(分数:2.00)A
14、.根据函数参数个数不同B.根据函数参数类型不同C.根据函数名字不同D.根据函数的返回值不同28.若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);29.有如下类定义: class MyBase int k; public: MyBase(int n=0):k(n) int value()constreturn k; ;
15、 class MyDerived:MyBase int j; public: MyDerived(int i):j(i) int getK()constreturn k; int getJ()constreturn j; ; 编译时发现有一处语法错误,对这个错误最准确的描述是_。(分数:2.50)A.函数 getK试图访问基类的私有成员变量 kB.在类 MyDerived的定义中,基类名 MyBase前缺少关键字 public、protected 或 privateC.类 MyDerived缺少一个无参的构造函数D.类 MyDerived的构造函数没有对基类数据成员 k进行初始化30.有下列程
16、序: #include stdio.h void main() int a1,a2 char c1,c2; scanf(“%d%c%d%c“,a1,c1,a2,c2); printf(“%d%c%d%c“,a1,c1,a2,c2); 若想通过键盘输入,使得 a1的值为 12,a2的值为 34,c1的值为字符 a,c2的值为字符 b,程序输出结果是12.a,34,b,则正确输入格式是(以下 代表空格,CR代表回车)_。 A12a34bCR B12 a 34 bCR C12,a,34,bCR D12 a34 (分数:2.50)A.B.C.D.31.下列错误的定义语句是_。(分数:2.50)A.in
17、t X3=0,1,1,2,3);B.int x43=1,2,0,1,2,3,1,2,3,1,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3;D.int x3=1,2,3,4;32.下列程序的输出结果是 #includeiostreamh void main( ) double d=3.2; int x,y; x=12; y=(x+38)/50; cout y * d end1;(分数:1.00)A.3B.3,2C.0D.30733.有如下程序: #includeiostream using namespace std; class Base public: virtu
18、al void function1()cout“0“; void function2()out“1“; ; class Derived:public Base oublic: void function1()cout“2“; void function2()cout“3“; ; int main() Base*p=new Derived(); p-function1(); p-function2(); return 0; 运行时的输出结果是_。(分数:1.00)A.01B.21C.03D.2334.下列数据结构中,能用二分法进行查找的是_。(分数:2.50)A.无序线性表B.线性链表C.二叉链
19、表D.顺序存储的有序表35.下列关于信息和数据的叙述不正确的是 _ 。(分数:2.00)A.信息是数据的符号表示B.信息是数据的内涵C.信息是现实世界事物的存在方式或运动状态的反映D.数据是描述现实世界事物的符号记录36.定义如下枚举类型;enum Monday, Tuesday, Wednesday, Thrusday, Friday=2);,则下列语句正确的是 _ 。(分数:2.00)A.表达式 Wednesday=Friday 的值是 trueB.Day day;day=3C.Day day;day=Monday+3D.Day day;day=Tuesday+1037.有如下程序: #i
20、ncludeiostream using namespace std; class CA public: virtual int f()return 1; ; class GB:public GA public: virtual int f()return 2; ; void show(GA g)coutg.f(); void display(GA int main() GA a;show(a);display(a); CB b;show(b);display(b); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.1111B.1211C.1112D.121238.若已定
21、义; inta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i=9,则对 a数组元素不正确的引用是 _ 。(分数:2.00)A.ap-aB.x( class MyClass public: MyClass(int x):val(X) void Set(int X)val=x; void Print()constcout“val=“val“/t“; private: int val; ; int main() const MyClass obj1(10); MyClass obj2(20); obj1.Print(); /语句 1 obj2.Print(); /语句 2 ob
22、j1.Set(20); /语句 3 obj2.Set(30); /语句 4 return 0; 其主函数中错误的语句是_。(分数:2.00)A.语句 1B.语句 2C.语句 3 D.语句 4解析:解析 在创建类对象 obj1(10)时,前面有关键字 const,所以当语句 3调用 obj1的成员函数试图修改其私有成员的数值的时候,会编译出错。2.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计的基本原则包括:模块化设计、自顶向下原则、逐步求精原则和限制使用goto语句。3.若有下面的函数调用: fun(a+b,
23、3,max(n-1,b) 则 fun的实参个数是_。(分数:1.00)A.3 B.4C.5D.6解析:解析 本题考查函数实参个数的基础知识,根据实参的概念,(a+b)、3、max(n-1,b)分别为其中的 3个实参。故答案为 A。4.有如下程序: #includeiostream using namespace std; class B public: virtual void f()cout“B“; void g()cout“B“; ; class D:public B public: void f()cout“D“; void g()cout“D“; ; void h(B* p)p-f()
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 276 答案 解析 DOC
