ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:74.50KB ,
资源ID:1324268      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324268.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++分类模拟270及答案解析.doc)为本站会员(bonesoil321)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++分类模拟270及答案解析.doc

1、二级 C+分类模拟 270 及答案解析(总分:70.50,做题时间:90 分钟)一、选择题(总题数:35,分数:70.50)1.有如下程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“The value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错2.下面程序的运行结果为 #includeios

2、tream.h void main( ) char a=“3“; switch(a) case“3“: cout “3“; case“2“: cout “2“;break; default: cout “1“; (分数:1.00)A.3B.321C.31D.323.下列关于纯虚函数与抽象类的描述中,错误的是 _ 。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出4.有如下类定义: class AA int a; public: AA(

3、int n=0):a(n) ; class BB:public AA public: BB(int n)_ ; 其中横线处缺失部分是_。(分数:3.00)A.:a(n)B.:AA(n)C.a(n);D.a=n;5.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstreamB.ifstreamC.ofstreamD.iostream6.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val:

4、 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1;D.c1-3;7.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式8.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,85.0,90.0;int i;strcpy(a.name,b.name

5、); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.50)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,909.下列选项合法的标识符是_。(分数:2.50)A.1_1B.1-1C._11D.1_ _10.有如下类定义: class B p

6、ublic:void funJ() privace:void fun2() protected:void fun3() ; class D:public B protected:void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();11.在计算机中,算法是指(分数:1.00)A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法12.有如下程序: #includeiostream using namespace std;

7、 class Pair int m; int n; public: Pair(int i,int j):m(i),n(j) bool operator(Pair P)const; /须在类体外给出定义 ; int main() Pair p1(3,4),p2(4,3),p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数。perator的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则返回false。比较规则是首先比较两对象的 m 成员,m 大者为大:当 m 相等时比较 n,n 大者为大。程序输出0101,下列对

8、运算符重载函数的正确定义是_。(分数:2.00)A.bool Pair:operator(Pair p)constif(m!=p.m)return mp.m;return np.n;B.bool Pair:operator(Pair P)if(m!=p.m)return mp.m;return np.n;C.bool Pair:operator(Pair p)constif(mp.m)return true;return np.n;D.bool Pair:operator(Pair P)if(mp.m)return true;return np.n;13.将下列程序写成三目运算表达式是 _ 。

9、 if(xy)min=x; else min=y;(分数:2.00)A.min=(xy)?x:yB.min=(xy)?x:yC.min=(xy)x:yD.min=(xy)?x,y14.有下列程序: #include stdio.h void main() int i=5; do if(i%3=1) if(i%5=2) printf(“*%d“,i);break; i+; while(i! =0); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.*7B.*3*5C.*5D.*2*615.下列线性链表的叙述中,正确的是_。(分数:2.50)A.各数据结点的存储空间可以不连续

10、,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对16.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.00)A.publicB.protectedC.privateD.static17.下列声明语句中没有起到定义作用的是_。(分数:2.50)A.int count;B.const double pi=3.14159;C.int max(int a,int b)return ab? a:b;D.extern long ind

11、ex;18.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.ThankC.Thank you very much!D.Thank you19.定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为_。(分数:2.00)A.私有继承B.非私有继承C.保护继承D.公有继承20.数据库管理系统中负责数据模式定义的语言是 _ 。(分数:2.0

12、0)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言21.已知类 AA 和 BB 的定义如下: class AA public: AA()cout“0“; AA()cout“1“; ; class BB:public BB public: BB()cout“2“; BB()cout“3“; ; 且有如下主函数定义: int main() BB b; return 0; 运行这个 main 函数的输出是_。(分数:2.50)A.0123B.0213C.2013D.023122.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是 _ 。(分数:2.00)A.D

13、B 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系23.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short 和 shortC.unsigned short 和 shortD.short int 和 int24.信息隐蔽的概念与下述哪一种概念直接相关_。(分数:2.50)A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度25.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 _ 。(分数:

14、2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段26.下面不属于软件设计阶段任务的是_。(分数:2.50)A.软件的功能确定B.软件的总体结构设计C.软件的数据设计D.软件的过程设计27.有如下类定义: class Foo public: Foo(int v):value(v) / Foo() / private: Foo() / int value=0; / ; 其中存在语法错误的行是_。(分数:1.00)A.B.C.D.28.在下列字符中,不允许作为 C+标识符的是 _ 。(分数:2.00)AbBBC.-D.229.为了提高函数调用的实际运行速度,可以将较简单的函

15、数定义为_。(分数:2.50)A.内联函数B.重载函数C.递归函数D.函数模板30.有如下类和对象的定义: class Constants public; static double getPI()return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:2.00)A.coutconstants-getPI();和 coutConstants:gerPI();B.coutconstants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConst

16、ants-getPI();D.coutconstants.getPI();和 coutConstants:getPI();31.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为_。(分数:2.50)A.23,13,51,57,66,26,81,69,76B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,7632.有函数模板声明和一些变量定义如下: templat

17、eclass T1,class T2,class T3T1 sum(T2,T3); double d1,d2; 则下列调用中,错误的是_。(分数:3.00)A.sumdouble,double,double(d1,d2);B.sumdouble,double(d1,d2);C.sumdouble(d1,d2);D.sum(d1,d2);33.在对函数进行原型声明时,下列语法成分中,不需要的是_。(分数:2.00)A.函数返回类型B.函数参数列表C.函数名D.函数体34.阅读以下程序: #includeiostream.h void main() static int a2=5,3,1,2; i

18、nt i,j,s1=0; for(i=0;i2;i+) for(j=0;j2;j+) if(i=j) s1=s1+aij; couts1endl; 则该程序的输出结果为_。(分数:2.50)A.6B.7C.8D.935.下列排序方法中,最坏情况下时间复杂度(即比较次数)低于 O(n 2 )的是_。(分数:1.00)A.快速排序B.简单插入排序C.冒泡排序D.堆排序二级 C+分类模拟 270 答案解析(总分:70.50,做题时间:90 分钟)一、选择题(总题数:35,分数:70.50)1.有如下程序: #includeiostream using namespace std; int main(

19、) int*p; *p=9; cout“The value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错 解析:解析 此题考查的是指针的使用。本题中,在给*p 赋值前,指针 p 并没有指向一个具体的对象。此时可以通过编译,但运行时由于 p 中为随机值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序出错。2.下面程序的运行结果为 #includeiostream.h void

20、main( ) char a=“3“; switch(a) case“3“: cout “3“; case“2“: cout “2“;break; default: cout “1“; (分数:1.00)A.3B.321C.31D.32 解析:解析 本题主要考查的是 switch 语句的使用,在第一个 case 处,因为满足条件所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break语句,结束整个语句,即输出 32。3.下列关于纯虚函数与抽象类的描述中,错误的是 _ 。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体

21、的实现B.抽象类是指具有纯虚函数的类C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类 D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出解析:解析 纯虚函数是在声明虚函数时被“初始化”为 0 的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。4.有如下类定义: class AA int a; public: AA(int n=0):a(n) ; class BB:public AA public: BB(int n)_ ; 其中横线处缺失部分是_。(分数:3.00)A.:a(n)B.:AA(n

22、) C.a(n);D.a=n;解析:解析 根据派生类构造函数的一般格式:派生类名(总参数表):基类名 1(参数表1),基类名 n(参数表 n),成员对象名 1(参数表 n+1),成员对象名 m(参数表 n+m)派生类构造函数体。在派生类 BB 的构造函数总参数表后面应该接上基类名从和其参数。5.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.00)A.fstream B.ifstreamC.ofstreamD.iostream解析:解析 文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。ifstream是文件输入流类,ofstream 是文件输出流类,

23、fstream 是文件输入输出流类,当使用 cin、cout 的预定义流对象进行针对标准设备的 I/O 操作,则需要使用 iostream 文件。6.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1; D.c1-3;解析:7.数据库设计中反映用户对数据要求的模式是_。(分

24、数:1.00)A.内模式B.概念模式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。8.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,

25、85.0,90.0;int i;strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.50)A.Qian,f,95,92 B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90解析:解析 本题考查在结构体中函数的调用,主函数调用 f

26、(c)后,实参传向形参,但程序中没有返回语句,故形参不能将值传回实参,实参之间值的传递具有不可逆性,所以 printf 输出的还是 c 中实参的值。9.下列选项合法的标识符是_。(分数:2.50)A.1_1B.1-1C._11 D.1_ _解析:解析 C 语言中标识符命名的规则是:标识符只能由字母、数字和下画线组成,第一个字符必须为字母或下画线。所以选项 C 正确。10.有如下类定义: class B public:void funJ() privace:void fun2() protected:void fun3() ; class D:public B protected:void fu

27、n4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1(); B.obj.fun2();C.obj.fun3();D.obj.fun4();解析:解析 fun2()为 Sample 的私有函数无法访问,fun3()与 fun4()都为 protected 函数,所以也没有访问权限。11.在计算机中,算法是指(分数:1.00)A.加工方法B.解题方案的准确而完整的描述 C.排序方法D.查询方法解析:解析 计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。12.有如下程序: #i

28、ncludeiostream using namespace std; class Pair int m; int n; public: Pair(int i,int j):m(i),n(j) bool operator(Pair P)const; /须在类体外给出定义 ; int main() Pair p1(3,4),p2(4,3),p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数。perator的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则返回false。比较规则是首先比较两对象的 m 成员,m 大

29、者为大:当 m 相等时比较 n,n 大者为大。程序输出0101,下列对运算符重载函数的正确定义是_。(分数:2.00)A.bool Pair:operator(Pair p)constif(m!=p.m)return mp.m;return np.n; B.bool Pair:operator(Pair P)if(m!=p.m)return mp.m;return np.n;C.bool Pair:operator(Pair p)constif(mp.m)return true;return np.n;D.bool Pair:operator(Pair P)if(mp.m)return tru

30、e;return np.n;解析:解析 按照比较规则:首先比较两对象的 m 成员,m 大者为大:当 m 相等时比较 n,n 大者为大。这条规则的用 C+写出来就是选项 A。13.将下列程序写成三目运算表达式是 _ 。 if(xy)min=x; else min=y;(分数:2.00)A.min=(xy)?x:yB.min=(xy)?x:y C.min=(xy)x:yD.min=(xy)?x,y解析:解析 题目中给出的程序是求 x,y 中的小值。即如果 x 小于 y,那么 min=x,否则 min=y。条件运算符为“?:”,(xy)?x:y 是当 x 小于 y 时取 x,否则取 y。14.有下列

31、程序: #include stdio.h void main() int i=5; do if(i%3=1) if(i%5=2) printf(“*%d“,i);break; i+; while(i! =0); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.*7 B.*3*5C.*5D.*2*6解析:解析 本题考查 do.while 循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除 3 时余 1,除 5 时余 2,然后打印“*”和这个数从 5 开始,等于 7 时恰好符合条件,输出,最后循环结束。15.下列线性链表的叙述中,正确的是_。(分数:

32、2.50)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故 A、B 错误。线性链表在插入与删除过程中不发生数据元素移动的现象,只需改变有关结点的指针即可,故 C 正确。16.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.0

33、0)A.public B.protectedC.privateD.static解析:解析 类的 public 成员可以被类对象通过成员操作符“.”直接访问,protected 和 private 成员则不能,而 static 不能单独修饰类的成员。17.下列声明语句中没有起到定义作用的是_。(分数:2.50)A.int count;B.const double pi=3.14159;C.int max(int a,int b)return ab? a:b;D.extern long index; 解析:18.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输

34、出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.Thank C.Thank you very much!D.Thank you解析:19.定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为_。(分数:2.00)A.私有继承 B.非私有继承C.保护继承D.公有继承解析:解析 继承的方式包括三种:公有继承,保护继承和私有继承。如果不显示的给出继承方式,缺省的类继承方式是私有继承 private。20.数据库管理系统中负

35、责数据模式定义的语言是 _ 。(分数:2.00)A.数据定义语言 B.数据管理语言C.数据操纵语言D.数据控制语言解析:21.已知类 AA 和 BB 的定义如下: class AA public: AA()cout“0“; AA()cout“1“; ; class BB:public BB public: BB()cout“2“; BB()cout“3“; ; 且有如下主函数定义: int main() BB b; return 0; 运行这个 main 函数的输出是_。(分数:2.50)A.0123B.0213C.2013D.0231 解析:解析 本题考查的是程序执行的相关知识。本题中,首先

36、执行 class AA,首位输出 0,末尾输出1;再执行 class BB,在第二位输出 2,倒数第二位输出 3,最后输出结果为 0231,故选择 D。22.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是 _ 。(分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMS D.没有任何关系解析:解析 数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般有数据库(DB)、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。23.下列各组类型声明符中,含义相同的一组是_。(分数:1.00

37、)A.unsigned long int 和 longB.signed short 和 short C.unsigned short 和 shortD.short int 和 int解析:解析 本题考查的知识点是基本类型的派生类型的定义。派生类型声明符是由基本类型关键字char、int、float、double 前面加上类型修饰符组成的。类型修饰符包括 short 短类型,缩短字长;long 长类型,加长字长;signed 有符号类型,取值范围包括正负值;unsigned 无符号类型,取值范围只包括正值。其中 signed 和 unsigned 只能同时出现一个,如果省略则默认为 signed

38、。short 和 long 也只能同时出现一个,如果修饰的类型是 int,则可以省略 int。unsignedlong int 的省略形式为 unsigned long;选项 B 中,signedshort int 的省略形式就是 short,正确;unsigned short int 的省略形式是unsigned short;short int 的省略形式是 short。故本题选 B。24.信息隐蔽的概念与下述哪一种概念直接相关_。(分数:2.50)A.软件结构定义B.模块独立性 C.模块类型划分D.模拟耦合度解析:解析 信息隐蔽的概念与模块独立性这一概念直接相关。25.数据库设计中,用 E

39、-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 _ 。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段 D.物理设计阶段解析:解析 实体联系图 Entity-Relationsh 中 E-R 图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。26.下面不属于软件设计阶段任务的是_。(分数:2.50)A.软件的功能确定 B.软件的总体结构设计C.软件的数据设计D.软件的过程设计解析:解析 软件设计包括软件结构设计、数据设计、接口设计、过程设计。27.有如下类定义: class Foo public: Foo(int v):

40、value(v) / Foo() / private: Foo() / int value=0; / ; 其中存在语法错误的行是_。(分数:1.00)A.B.C.D. 解析:解析 本题考查类的定义。C+语言规定,在类体内不允许对所定义的数据成员进行初始化。28.在下列字符中,不允许作为 C+标识符的是 _ 。(分数:2.00)AbBBC.-D.2 解析:解析 在 C+中,标识符只能以字母、数字和下划线组成,并且首字母不能为数宇。所以 D 选项错误。29.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.50)A.内联函数 B.重载函数C.递归函数D.函数模板解析:解析 内

41、联函数是为了取代 C 中的预处理宏函数而引进的。普通函数的调用是程序的转向处理,系统开销较大。将函数定义为内联函数,就可以将函数代码经编译后直接插入到调用函数处。定义时在函数类型前加关键字 inline,即可将其说明为内联函数。30.有如下类和对象的定义: class Constants public; static double getPI()return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:2.00)A.coutconstants-getPI();和 coutConstants:gerPI();B.coutco

42、nstants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants.getPI();和 coutConstants:getPI(); 解析:解析 此题考查的是静态成员函数的引用。getPI()是类 Constants 的静态成员函数。引用静态成员函数可以有两种形式:一是通过类名直接进行调用,例如类名:静态成员函数名;另一种是用类的任何对象名进行调用其作用仅是通过对象名间接的指出类名,例如 constants.getPI()选项 D 即是这种调用方式。31.

43、设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为_。(分数:2.50)A.23,13,51,57,66,26,81,69,76 B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,76解析:解析 快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分

44、实施上述过程,一直重复到排序完成。32.有函数模板声明和一些变量定义如下: templateclass T1,class T2,class T3T1 sum(T2,T3); double d1,d2; 则下列调用中,错误的是_。(分数:3.00)A.sumdouble,double,double(d1,d2);B.sumdouble,double(d1,d2);C.sumdouble(d1,d2);D.sum(d1,d2); 解析:解析 虚拟类型参数 T1 没有出现在模板函数的形参表中,因此在调用时不可能从模板函数的实参表中获得相应的信息,因此 T1 无法省略。而在选项 D 中省略了。33.在

45、对函数进行原型声明时,下列语法成分中,不需要的是_。(分数:2.00)A.函数返回类型B.函数参数列表C.函数名D.函数体 解析:解析 在 C+中函数在使用之前要预先声明,这种声明在标准 C+中称为函数原型。函数给出了函数名、返回类型以及在调用函数时必须指明参数个数和类型。34.阅读以下程序: #includeiostream.h void main() static int a2=5,3,1,2; int i,j,s1=0; for(i=0;i2;i+) for(j=0;j2;j+) if(i=j) s1=s1+aij; couts1endl; 则该程序的输出结果为_。(分数:2.50)A.

46、6B.7 C.8D.9解析:解析 程序中“static int a2=5,3,1,2;”定义了一个 2*2 的整型矩阵。两个 for 循环读取数组元素。“if(i=j)”语句中的条件是取矩阵的正对角线上的元素。对角线上的元素为 5,2,所以“s1=s1+aij”的计算结果为 7。35.下列排序方法中,最坏情况下时间复杂度(即比较次数)低于 O(n 2 )的是_。(分数:1.00)A.快速排序B.简单插入排序C.冒泡排序D.堆排序 解析:解析 对长度为 n 的线性表排序,常用排序方法最坏情况的时间复杂度如下表所示 方法 最坏情况时间 冒泡排序 O(n 2 ) 简单插入排序 O(n 2 ) 简 O(n 单选择排序 2 ) 快速排序 O(n 2 ) 堆排序 O(nlog 2 n) 时间复杂度低于 O(n 2 )的排序算法是堆排序,故 D 选项正确。

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