【计算机类职业资格】国家二级(C++)机试-试卷28及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试-试卷28及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试-试卷28及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试-试卷 28 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式2.有如下程序: #include using namespace std; int i=1; class Fun public: static int i; int value() retu
2、rn i-1; int value()const return i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是( )。(分数:2.00)A.coutfun1.value()Fun:ifun2.value();B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();3.算法的空
3、间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数4.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数B.重载函数C.递归函数D.函数模板5.有如下程序: #include using namespace std; class TV public: TV(int s=41):size(s) void Print() cout/N/C/SA./N41/C54B./N41/S54C./C41/N54D./C41/C546.下面描述
4、中错误的是( )。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.下列函数原型声明中,错误的是(分数:2.00)A.intfunction(int,int);B.intfunction(int=3,int=0);C.intfunction(intm=3,intn);D.intfunction(int8.有如下类定义: class Point public: void SetX(int xx) x=xx; protected: void SetY(int y
5、y) y=yy; private: int x,y; ; class Circle:Point public: int GetRadius() return radius; private: void SetRadius(int r) radius=r; int radius; ;派生类 Circle 中不可访问成员的个数为(分数:2.00)A.2B.3C.4D.69.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性D.元组10.用于定义类的必不可少的 C+关键字是(分数:2.00)A.autoB.returnC
6、.classD.public11.有如下类声明和函数声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f 中通过 d 可访问的数据成员包括(分数:2.00)A.nB.n 和 kC.n、k 和 pD.n、k、p 和 m12.在下列选项中,不允许作为 C+标识符的是(分数:2.00)A.999aB._C.TD.mmm13.ClassA 是一个类,现在执行下面语句:ClassA a2,*b2,*c = n
7、ew ClassA;调用 ClassA 类的构造函数的次数是(分数:2.00)A.1B.2C.3D.514.下列关于模板的表述中,正确的是(分数:2.00)A.如果一个类中存在纯虚函数,这个类就是类模板B.函数模板不能带有形式参数表C.类模板带有模板形参表D.类模板中不能包含构造函数15.if 语句的语法格式可描述为: 格式 1:if() 或 格式 2:if() else 关于上面的语法格式,下列表述中错误的是( )。(分数:2.00)A.部分可以是一个 if 语句,例如 if(if(a=0)B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语
8、句功能不变D.部分可以是一个循环语句,例如 if()while()16.以下关键字与类的访问权限无关的是(分数:2.00)A.friendB.constC.constD.private17.深度为的完全二叉树中共有 125 个结点,则该完全二叉树中的叶子结点数为(分数:2.00)A.62B.63C.64D.6518.有如下程序: #include using namespace std; void fun(int i) cout“int i / “; void fun(char c) cout“char c / “; int main() fun(0); fun(c); return 0; 运
9、行后的输出结果是(分数:2.00)A.inti/inti/B.inti/charc/C.charc/inti/D.charc/charc/19.若 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTemp p1; MyTemp p2; MyTemp p34; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp 的实例的个数是(分数:2.00)A.1B.2C.3D.620.为了取代 C 中带参数的宏,在 C+中使用( )。(分数:2.00)A.重载函数B.内联函数C.递归函数D.友元函数21.有如下程序: #include using namespace std;
10、 class Point public: static int number; public: Point() number+; Point() number-; ; int Point:number=0; int main() Point *ptr; Point A, B; Point* ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberA.3B.4C.6D.722.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式23.下列有关类成员的叙
11、述中,正确的是(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员24.若磁盘上已存在某个文本文件,其全路径文件名为 d:/ncre/test.txt,下列语句中不能打开该文件的是(分数:2.00)A.ifstreamfile(“d:/ncre/test.txt“);B.ifstreamfile(“d:/ncre/test.txt“);C.ifstreamfile;file.open(“d:/ncre/test.txt“);D.ifstream*pFile=newifstream(“d:/ncre/test.
12、txt“);25.若已经定义了如下的函数: int f(int i,char c);则下列函数中可以作为此函数的重载函数的是(分数:2.00)A.intf(inti,charc,charb=?);B.intf(intj,charb);C.charf(charc,inti);D.charf(inti,charc);26.有如下程序: #include #include using namespace std; class Wheel public: Wheel(string s=“W“):name(s) coutA.GB.RGC.WRGD.RWG27.下面不属于软件需求分析阶段主要工作的是(分数
13、:2.00)A.需求变更申请B.需求分析C.需求评审D.需求获取28.有如下类声明: class Wd int a; public: int b; int c; private: int d; protected: int e; ;其中访问权限为私有的成员变量有(分数:2.00)A.a 和 bB.b 和 cC.a 和 dD.d 和 e29.在下列标识符中,不属于文件流类的标识符是(分数:2.00)A.ifstreamB.ofstreamC.fstreamD.operator30.有如下类定义:class Number private: static int num; ;要初始化 Number
14、类的静态成员 num,应当在后面加上语句:(分数:2.00)A.intnum=0;B.staticintnum=0;C.intNumber:num=0;D.staticintNumber:num=0;31.在 C+语言系统中,用于输出数据所使用的标识符 cout 是(分数:2.00)A.类名B.对象名C.函数名D.文件名32.字符串“8+a=/tb/n/r“的长度为(分数:2.00)A.11B.7C.9D.833.有如下类定义:class Point int xx, yy;public:Point() : xx(0), yy(0) Point(int x, int y =0) : xx(x),
15、 yy(y) ;若执行语句 Point a(2), b3, *c4;则 Point 类的构造函数被调用的次数是( )。(分数:2.00)A.2 次B.3 次C.4 次D.5 次34.数据库应用系统中的核心问题是( )。(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训35.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是( )。(分数:2.00)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protecte
16、d 和 protected36.下列关于栈叙述正确的是( )。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对37.已知函数 func 的原型为 int func(int,int);下列重载函数原型中错误的是(分数:2.00)A.charfunc(int,int);B.boolfunc(int,int,bool);C.intfunc(int,char*);D.floatfunc(int,int,int);38.有如下程序 #include #include using namespace std; int mai
17、n( ) coutsetprecision(3)fixedsetfill(*)12.345_A.setprecision(3)B.fixedC.setfill(*)D.setw(8)39.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if (n = 0) return 1; else if (n = 1) return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(4),函数 fib 被调用的次数是(分数:2.00)A.6B.7C.8D.940.有如下函数模板: template T square(T x) ret
18、urn x * x; 其中的 T 是(分数:2.00)A.函数形参B.函数实参C.模板形参D.模板实参二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj1 下的工程 proj1,此工程中包含程序文件mainepp,其中有 ElectricFan(“电风扇”)类和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:品牌:清风牌,电源:关,风速:0 品牌:清风牌,电源:开,风速:3 品牌:清风牌,电源:关,风速:0 注意:只修改每个“ERROR*found*”下的那一
19、行,不要改动程序中的其他内容。#includeioStreamusingnamespacestd;classElectricFan“电扇”类char*brand;intintensity;风速:0-关机,1-弱,2-中,3-强public:ElectricFan(constchar*thebrand):intensity(0)brand=newcharstrlen(thebrand)+1;strcpy(brand,the_brand);ElectricFan()fdeletebrand;ERROR*found*constchar*theBrand()constreturn*brand;)返回电
20、扇品牌inttheIntensity()const(returnintensity;返回风速 boolisOn()constreturnintensity0;返回电源开关状态ERROR*found*voidturnOff()intensity=1;关电扇voidsetIntensity(intinten)开电扇并设置风速ERROR*found*if(intensity=1 int i=1; class Fun public: static int i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int
21、 main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是( )。(分数:2.00)A.coutfun1.value()Fun:ifun2.value(); B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();解析:解析:本题考查构造函数、常成员函数和静态数据成员。外部同名的变量赋值,不能改变类的静态变量值,所以 Fun 对象里
22、的 i 值为 2,所以本题答案为 A。3.算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A)。4.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数 B.重载函数C.递归函数D.函数模板解析:解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,一般只将规
23、模很小而使用频繁的函数声明为内联函数,可以避免函数调用时间开销,从而提高运行速度。5.有如下程序: #include using namespace std; class TV public: TV(int s=41):size(s) void Print() cout/N/C/SA./N41/C54 B./N41/S54C./C41/N54D./C41/C54解析:解析:本题考查构造函数相关知识,本题中定义一个对象 room1,执行 room1.Print 时执行构造函数给 size 赋值为 41,然后执行 voidPrint()cout/N6.下面描述中错误的是( )。(分数:2.00)A
24、.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以 A)错误。7.下列函数原型声明中,错误的是(分数:2.00)A.intfunction(int,int);B.intfunction(int=3,int=0);C.intfunction(intm=3,intn); D.intfunction(int解析:解析:在函数原型中指定默认参
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 试试 28 答案 解析 DOC
