【计算机类职业资格】二级C++分类模拟262及答案解析.doc
《【计算机类职业资格】二级C++分类模拟262及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟262及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 262 及答案解析(总分:62.50,做题时间:90 分钟)一、选择题(总题数:35,分数:62.50)1.for(int x=0,y=0;!x|y=5;y+,x=!x)语句执行的循环次数是 _ 。(分数:2.00)A.0B.7C.6D.无数次2.有如下程序 #includeiostream using namespace std; class A public: virtual void func1()cout“A1“; void func2()cout“A2“; ; class B:public A public: void func1()cout“B1“; void
2、func2()cout“B2“; ; int main() A *p=new B; p-func1(); P-func2(); return 0; 运行此程序,屏幕上将显示输出_。(分数:2.00)A.B1B2B.A1A2C.B1A2D.A1B23.设 n=10,i=4,则赋值运算 n%=i+1 执行后,n 的值是 _ 。(分数:2.00)A.0B.3C.2D.14.在对函数进行原型声明时,下列语法成分中不需要的是_。(分数:1.00)A.函数返回类型B.函数参数列表C.函数名D.函数体5.下列叙述中正确的是(分数:2.00)A.软件测试的主要目的是确定程序中错误的位置B.软件调试的主要目的是
3、发现程序中错误的类型C.程序经调试后还应进行测试D.软件的测试与调试工,作最好都由程序编制者来完成6.以下程序的输出结果是_。 int x=5; do cout-x: while(!x);(分数:2.00)A.43210B.5C.4D.无任何输出7.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情
4、况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数8.假定 MyClass 为一个类,则执行 MyClass a,b(2),*p;语句时,自动调用该类构造函数 _ 次。(分数:2.50)A.2B.3C.4D.59.若变量已正确定义,有下列程序段 int a=3,b=5,c-7; if(ab)a=b;c-a; if(c!=a)c=b; printf(“%d,%d,%d/n“,a,b,c); 其输出的结果是_。(分数:2.50)A.程序段有语法错B.3,5,3C.3,5,5D.3,5,710.在计算机中,算法是指_。(分数:1.00)A.查询方法B.
5、加工方法C.解题方案的准确而完整的描述D.排序方法11.若 MyClass 是一个类名,且有如下语句序列 MyClass c1,*c2; MyClass *c3=new MyClass; MyClass 上面的语句序列所定义的类对象的个数是_。(分数:2.00)A.1B.2C.3D.412.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30B.value0C.value10D.value2013.下列关于模版的叙述中,错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每
6、个实例就是一个类定义D.类模板的实例是一个类对象14.下列叙述中正确的是(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表15.执行下列语句序列: int i=0;while(125)i+=3;couti; 输出结果是_。(分数:1.00)A.24B.25C.27D.2816.已知枚举类型定义语句为 enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是_。(分数:1.00)A.枚举常量 NAME 的值
7、为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 1017.当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为_。(分数:2.00)A.ios base:inB.ios_base:binaryC.ios_base:in|ios_base:outD.ios_base:out18.有如下类定义: class Point private: static int how_many; ; _how_many=0; 要初始化 Point 类的静态成员 how_many,下画线处应填入的内容是_。(分数:1.
8、00)A.intB.static intC.int Point:D.static int Point:19.设有以下定义和程序: #include iostream.h class A1 public: void showl() cout“class A1“end1; ; Class A2 : public A1 public: void show2() cout“Class A2“end1; ; Class A3 : protected A2 public: void show3() cout”Class A 土”end1; ; void main() A1 obj1; A2 obj2; A
9、3 obj3; 则以下不合语法的调用语句是 _ 。(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();20.有如下程序 #includeiostream.h void main() char ch25=“6937“, “8254“,*p2; int i,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i2;i+) for(j=0;pij“/0“;j+=2) s=10*s+pij=“0“; couts; 该程序的输出结果是_。(分数:2.50)A.69825B.63825C.6385D.693
10、82521.有以下程序: #include iostream using namespace std; class count static int n; public: count ( ) n+; static int test() for (int i = 0; i 4; i+ ) n+; return n; ; int count : n = 0; int main() coutcount : test()“ “; count c1, c2; coutcount : test()end1; return 0; 执行后的输出结果是 _ 。(分数:1.00)A.4 10B.1 2C.22D.
11、2422.有如下程序 #includeiostream using namespace std; class Base protected: Base()cout“A“; Base(char C)coutc; ; class Derived:public Base public: Derived(char C)coutc; ; int main() Derived d1(“B“); return 0; 执行这个程序屏幕上将显示输出_。(分数:2.00)ABB.BAC.ABD.BB23.对关系 S 和 R 进行集合运算,产生的元组属于 S 中的元组,但不属于 R 中的元组,这种集合运算称为 _
12、。(分数:2.00)A.并运算B.交运算C.差运算D.积运算24.有以下程序: #includeiostream using namespace std; class A public: A()cout“A“;) ; classBpublic:B()cout“B“; classC:public A B b: public: C()(cout“C“;) ; int main() C obj; return 0; 执行后的输出结果是_。(分数:2.50)A.CBAB.BACC.ACBD.ABC25.以下程序的输出是 _ 。 struct st int x;int *y; *p; int dt4=1
13、0,20,30,40; struct st aa4=50, 则下列叙述中错误的是_。(分数:1.00)A.枚举常量 NAME 的值为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 1028.下列关于函数的描述中,错误的是_。(分数:1.00)A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板29.执行下列语句: #includeiostream using namespace std; int main() int x=3; if(x=5) coutx+endl; else coutxen
14、dl; return 0; 程序的输出是_。(分数:2.50)A.3B.4C.5D.630.有如下程序: #include using namespace std; class Point int x, y; public: Point(int x1=0, int y1=0):x(x1), y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx, int cy, int r):center(cx, cy), raaius(r) int get()return center
15、.get()+radius; ; int main() Circle c(3, 4, 5); coutc.get() return 0; /c.get() 运行时的输出结果是_。(分数:2.50)A.5B.7C.9D.1231.下列关于 this 指针的叙述中,正确的是 _ 。(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针32.有如下程序; #includelostream using namespace std; void fun(int c=a; a=b; b=c
16、; int main() int x=14, y=20; fun(x, y); coutxy; return 0; 运行后的输出结果是“2020”,则横线处的语句应为_。(分数:1.00)AbB.int bC.int*bD.im class A public: virtual void func1()cout“A1“; void func2()cout“A2“; ; class B:public A public: void func1()cout“B1“; void func2()cout“B2“; ; int main() A *p=new B; p-func1(); P-func2();
17、 return 0; 运行此程序,屏幕上将显示输出_。(分数:2.00)A.B1B2B.A1A2C.B1A2 D.A1B2解析:解析 此题考查的是虚函数的概念。此题中,func1 是虚函数,func2 是一般成员函数,而且在派生类与基类中都存在两个这样的函数。在主函数中,语句 A*p=new B;定义了一个基类的指针 p,并让它指向一个派生类对象。所以通过该指针调用 func1 时,运行的是派生类的版本,而通过该指针调用 func2运行的是基类的版本。所以程序运行的最后输出是:B1A2。3.设 n=10,i=4,则赋值运算 n%=i+1 执行后,n 的值是 _ 。(分数:2.00)A.0 B.
18、3C.2D.1解析:4.在对函数进行原型声明时,下列语法成分中不需要的是_。(分数:1.00)A.函数返回类型B.函数参数列表C.函数名D.函数体 解析:解析 函数原型中,函数名、函数返回值、函数参数列表是需要的,而函数体在函数声明时不需要。所以答案为 D。5.下列叙述中正确的是(分数:2.00)A.软件测试的主要目的是确定程序中错误的位置B.软件调试的主要目的是发现程序中错误的类型C.程序经调试后还应进行测试 D.软件的测试与调试工,作最好都由程序编制者来完成解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。 测试不是为了证明程序是正确的,而是
19、在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷。 由于测试的这一特征,一般应当避免由开发者测试自己的程序。 测试只能说明程序有错,而不能证明程序无错,希望通过有限次的测试就能发现程序中的所有错误是不可能的,即完全测试是不可能的。 因此,选项 A)与 D)中的说法都是错误的。 调试也称排错。 测试的目的是暴露错误,而调试的目的是发现错误的位置,并改正错误。 经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试:以检查调试的效果,同时也可防止在调试过程中引进新的错误。 因此,选项 B)中的说法也是错误的,而选项 C)中的说法是正确的。6.以下程序的输出
20、结果是_。 int x=5; do cout-x: while(!x);(分数:2.00)A.43210B.5C.4 D.无任何输出解析:解析 先无条件执行一次循环体,前置“-”作用于 x,使得 x 先减 1,再输出;由于 x 非零,故!x为 false,不再执行循环语句。7.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3;
21、 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数 解析:解析 此题考查的是函数参数的传递。C+语言中,函数在传递参数时,总是将实参的值传递给被调用函数的形参,即传值调用。因此,在函数中对形参所作的任何操作都不会改变实参的值。8.假定 MyClass 为一个类,则执行 MyClass a,b(2),*p;语句时,自动调用该类构造函数 _ 次。(分数:2.50)A.2 B.3C.4D.5解析:解析 C+在创建一个对象时,会调用类的构造函数。执行 MyClass a b,(2),*p;创建了两个对象 a、b 和指针 p,在
22、创建对象 a 和 b 会调用构造函数,而创建指针 p 时,由于 p 本身不是对象,所以不调用类的构造函数。9.若变量已正确定义,有下列程序段 int a=3,b=5,c-7; if(ab)a=b;c-a; if(c!=a)c=b; printf(“%d,%d,%d/n“,a,b,c); 其输出的结果是_。(分数:2.50)A.程序段有语法错B.3,5,3 C.3,5,5D.3,5,7解析:解析 如果 if 判断条件成立时就执行其后的相关语句,否则不执行,第一个 if 条件 ab 不成立,故不执行“a=b”,接着执行“c=a”,把 a 的值赋给 c 后,此时第二个 if 条件不成立,故不执行其后
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 262 答案 解析 DOC
