【计算机类职业资格】二级C++分类模拟271及答案解析.doc
《【计算机类职业资格】二级C++分类模拟271及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟271及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 271 及答案解析(总分:56.00,做题时间:90 分钟)一、选择题(总题数:35,分数:56.00)1.MyClock 为一个类,则指向“MyClock a,* p;”语句时,调用该类构造函数 _ 次。(分数:2.00)A.1B.2C.3D.42.定义无符号整数为 Uint,下面可以作为类 Uint 实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合(1,2,3,4,5)3.下列关于构造函数的描述中,错误的是_。(分数:1.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数4.若有函数原型声明
2、为“void fun(int*x,int ”,下列叙述中,错误的是_。(分数:2.00)A.调用函数 fun 时必须给出 3 个实参B.函数 fun 中有 1 个指针形参C.函数 fun 中有 1 个形参有默认值D.函数 fun 中有 1 个引用形参5.下列关于运算符重载的描述中,错误的是_。(分数:3.00)A.可以通过运算符重载在 C+中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作数是该类对象D.重载类型转换运算符时不需要声明返回类型6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(分数:2.00
3、)A.友元函数B.虚函数C.构造函数D.析构函数7.下列关于单目运算符+、-的叙述中,正确的是 _ 。(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和血型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 doule 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量8.为了取代 C 中带参数的宏,在 C+中使用_。(分数:2.00)A.重载函数B.内联函数C.递归函数D.友元函数9.有如下程序: #includeiostream using name
4、space 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.310.有以下程序: #include iostream #include strinq using namespace std; int main() char a = “a“/“b“/“c“/“d“,“e“,“f“,“g“,“h“,“/0“; int i j; i=size
5、of(A) ; j=strlen(A) ; couti“,“jend1; return 0; 程序运行后的结果是 _ 。(分数:1.00)A.9,9B.8,9C.1,8D.9,811.下列叙述中错误的是_。(分数:2.50)A.在程序中凡是以“#”开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.C 程序中预处理命令行的处理是在程序执行的过程中进行的12.有如下程序: #includeiostreamh long fib(int n) if(n 2) return(fib(n-1)+fib(n-2) ); else retu
6、rn(2); void main( ) cout fib(3); 该程序的输出结果是(分数:1.00)A.2B.4C.6D.813.下列不属于 C+规定的类继承方式是_。(分数:2.50)A.protectiveB.privateC.protectedD.public14.下列描述正确的是(分数:1.00)A.表示 m n 为 true 或 m n 为 true 的表达式为 m n m=s0k; for(i=1;in;i+) if(sikm)m=sik; return m; void main() int a44=1,2,3,4),11,12,13,14,21,22,23,24,31,32,3
7、3,34; printf(“%d/n“,fun(a,4,0); 程序的运行结果是_。(分数:2.50)A.4B.34C.31D.3216.设有以下定义和程序: #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 o
8、bj1; A2 obj2; A3 obj3; 则以下不合语法的调用语句是 _ 。(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();17.若为 Fraction 类重载前增 1 运算符+,应在类体中将其声明为_。(分数:1.00)A.Fractionpoerator+();B.Fractionpoerator+(int);C.friend Fractionoperator+();D.friend Fractionoperator+(int);18.己知基类 Employee 只有一个构造函数,其定义如下: Emplo
9、yee:Employee(int n):id(n) Manager 是 Employee 的派生类,则下列对 Manager 的构造函数的定义中,正确的是_。(分数:2.00)A.Manager:Manager(int n):id(n)B.Manager:Manager(int n)id=n;C.Manager:Manager(int n):Employee(n)D.Manager:Manager(int n)Employee(n);19.已知表达式+x 中的“+”是作为成员函数重载的运算符,则与+x 等效的运算符函数调用形式为_。(分数:1.00)A.operator+(1)B.operat
10、or+(x)C.operator+()D.operator+(x)20.有如下程序: #includeiostream using namespace std; class Pair int m,n; public: Pair(int j,int k):m(j),n(k) int get()return m; int get()constreturn m+n; ; int main() Pair a(3,5); const Pair b(3,5); couta.get()b.get(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.33B.38C.83D.8821.下
11、面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性22.下列程序的运行结果是_。 #includeiostream.h int x=5; int fun(int a) int c; c=X*a; return C; void main() int x=3,a=4; x=x+fun(a); cout“x=“xendl; (分数:1.00)A.x=15B.x=17C.x=23D.x=2523.一个栈的初始状态为空。现将元素 1、2、3、4、5
12、、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:2.50)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.5432IEDCBA24.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为_。(分数:2.50)A.operator+(operator*(y,z)B.operator+(operator*(y,z)C.operator+(x*(y,z)D.x+(operator*(y,z)25.有关构造函数的说法不正确的是 _ 。(分数:1.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任
13、何函数类型D.构造函数有且只有一个26.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序27.已知有定义 const int D=5; int i=1; double f=032; char c=15; 则下列选项错误的是(分数:1.00)A.+i;B.D-;C.c+;D.-f28.下列字符串中不能作为 C+标识符使用的是_。(分数:1.00)A.IN25B.testC._1481D.12329.数据字典(DD)所定义的对象都包含于_。(分数:2.50)A.程序流程图B.数据流图(DF
14、D 图)C.方框图D.软件结构图30.有如下程序: #includeiostream using namespace std; class Base public: Base(int x=0)coutx; ; class Derived:public Base public: Derived(int x=0)coutx; private: Base val; ; int main() Derived d(1); return 0; 程序执行后的输出结果是 _ 。(分数:2.00)A.100B.000C.010D.00131.有如下程序: #include iostream using name
15、space std; class XX protected: int k; public: XX(int n=5):k(n) XX() cout“XX“; virtual void f() const=0; ; inline void XX:f() const coutk+3; class YY:public XX public: YY()cout“YY“; void f()const coutk-3; XX:f(); ; int main() XX p.f(); delete return 0; ; 执行上面的程序将输出_。(分数:2.50)A.28XXB.28YYXXC.-33XXD.-3
16、3XXYY32.有如下程序段: int *a=new int2; a0=0; a1=1; int *b= cout*b; 运行这个程序段将输出_。(分数:2.50)A.整数 1B.a0的地址C.a1的地址D.整数 033.下列程序的运行结果是 #includeiostreamh class A int a; public: A( )a=0; A(int aa) a=aa; couta+; ; void main( ) A x,y(2),z(3); coutend1; (分数:1.00)A.00B.23C.34D.2534.下列选项中,不是一个算法的基本特征的是_。(分数:1.00)A.完整性B
17、.可行性C.有穷性D.拥有足够的情报35.下面关于虚函数的描述,错误的是(分数:1.00)A.在成员函数声明的前面加上 virtual 修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现二级 C+分类模拟 271 答案解析(总分:56.00,做题时间:90 分钟)一、选择题(总题数:35,分数:56.00)1.MyClock 为一个类,则指向“MyClock a,* p;”语句时,调用该类构造函数 _ 次。(分数:2.00)A.1 B.2C.3D.
18、4解析:解析 *p 不调用类的构造函数,*p 并不定义类对象,而是定义了一个指针指向一个 MyClock 的对象。2.定义无符号整数为 Uint,下面可以作为类 Uint 实例化值的是_。(分数:1.00)A.-369B.369 C.0.369D.整数集合(1,2,3,4,5)解析:解析 A 是有符号数,C 是浮点数,D 是集合,并不是类的实例化对象,只有 B 完全符合。3.下列关于构造函数的描述中,错误的是_。(分数:1.00)A.构造函数名与类名相同B.构造函数可以有返回值 C.构造函数可以重载D.每个类都有构造函数解析:解析 构造函数没有返回值,虽然叫函数但是它没有任何返回值,包括 vo
19、id 型都不是,官方叫法为“构造器”。4.若有函数原型声明为“void fun(int*x,int ”,下列叙述中,错误的是_。(分数:2.00)A.调用函数 fun 时必须给出 3 个实参 B.函数 fun 中有 1 个指针形参C.函数 fun 中有 1 个形参有默认值D.函数 fun 中有 1 个引用形参解析:5.下列关于运算符重载的描述中,错误的是_。(分数:3.00)A.可以通过运算符重载在 C+中创建新的运算符 B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作数是该类对象D.重载类型转换运算符时不需要声明返回类型解析:解析 运算符重载应尽可能保持其原有的基
20、本语义,而不是创建新的运算符。重载的运算符应该体现为原运算符的功能在新数据类型上的延伸,它的使用应当使程序中算法的表达式显得更流畅、自然,使阅读程序的人在不借助于其他说明资料的情况下就能够正确理解。6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(分数:2.00)A.友元函数B.虚函数C.构造函数 D.析构函数解析:解析 构造函数在创建对象时系统自动调用,其功能是使用给定的值将对象初始化。7.下列关于单目运算符+、-的叙述中,正确的是 _ 。(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和血型变
21、量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 doule 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量 解析:解析 本题考核 C+的-和+运算符。在 C+中,-和+这两种运算符是单目运算符,其运算对象可以是整型、字符型、float 型和 double 型等基本数据类型。8.为了取代 C 中带参数的宏,在 C+中使用_。(分数:2.00)A.重载函数B.内联函数 C.递归函数D.友元函数解析:解析 此题考查的是内联函数。C+语言引入内联函数的原因是用它来取代 C 语言的预处理宏函数。故选项 B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 271 答案 解析 DOC
