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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C++-165及答案解析.doc

1、二级 C+-165 及答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:37,分数:85.00)1.下列关于 C+函数的叙述中,正确的是_。(分数:2.00)A.函数不能自己调用自己B.每个函数都必须返回一个值C.每个函数至少要有一个参数D.函数在被调用之前必须先进行声明或定义2.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double

2、 val) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数3.若有函数调用“fun(x*y,3,max(a,b,c)”,则 fun 的实参个数为_。(分数:2.00)A.3B.4C.5D.64.若有函数原型声明为“void fun(int*x,int ”,下列叙述中,错误的是_。(分数:2.00)A.调用函数 fun 时必须给出 3 个实参B.函数 fun 中有 1 个指针形参C.函数 fun 中有 1 个形参有默认值D.函数 fun 中有 1 个引用形参5.若一个函数的原型为“int*Xfun1(in

3、t x,int”,则该函数的返回值类型为_。(分数:2.00)A.int*B.intC.intB.void fun(int x,int y=0);C.void fun(int x=0,int y);D.void fun(int x,int y);9.下列函数原型声明中,错误的是_。(分数:2.00)A.int fnction(int m,int n);B.int function(int,int);C.int function(int m=3,int n);D.int function(int 10.下列关于默认参数的叙述中,错误的是_。(分数:2.00)A.为形参列表中的多个参数指定默认值时

4、应从右至左进行设置B.若函数的所有形参都指定了默认值,则调用时可不给出实参C.C+中的默认参数可以简化对复杂函数的调用D.若要为参数指定默认值,必须在函数定义及其原型声明中同时指定11.下列关于函数参数的叙述中,正确的是_。(分数:2.00)A.在函数原型中不必声明形参类型B.函数的实参和形参共享内存空间C.函数形参的生存期与整个程序的运行期相同D.函数的形参在函数被调用时获得初始值12.有如下程序: #includeiostream using namespace std; void f1(int void f2(int x)+x; int main() int x=10,y=12; f1

5、x); f2(y); coutx+yendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.22B.23C.24D.2513.有如下程序: #includeiostream using namespace std; void fun(char c) cout“char c/“; void fun(double d) cout“double d/“; void fun(char*p) cout“char*p/“; int main() fun(0); return 0; 进行编译、链接、运行的结果是_。(分数:2.00)A.编译出错,无法运行B.输出:char c/C

6、输出:double d/D.输出:char*p/14.有如下程序: #includeiostream 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; 运行后的输出结果是_。(分数:2.00)A.int i/int i/B.int i/char c/C.char c/int i/D.char c/char c/15.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下

7、列重载函数声明中正确的是_。(分数:2.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);16.下列有关内联函数的叙述中,正确的是_。(分数:2.50)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return 语句17.下列关于内联函数的叙述中,错误的是_。(分数:2.50)A.内联函数的定义必须出现在

8、内联函数第一次被调用之前B.内联函数主要解决程序的运行效率问题C.类体中定义的函数都是内联函数D.内联函数不能有参数18.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.50)A.内联函数B.重载函数C.递归函数D.函数模板19.求 n 阶勒让德多项式的递归函数定义如下: double P(double x,int n) if(n=0) return 1; if(n=1) return x; if(n1)return(2*n-1)*x-P(x,n-1)-(n-1)*P(x,n-2)/n; 若执行函数调用表达式 P(1.3,2),函数 P 被调用的次数是_。(分数:2.5

9、0)A.1B.2C.3D.420.计算斐波那契数列第 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(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2C.3D.421.以下关键字用来声明类的访问权限的是_。(分数:2.50)A.constB.staticC.protectedD.case22.有如下类定义: class MyClass int b;char a;double c; public; My

10、Class():c(0.0),b(0),a(“,“) ; 创建这个类的对象时,数据成员的初始化顺序是_。(分数:2.50)A.a,b,cB.c,b,aC.b,a,cD.c,a,b23.若 AA 为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a 时,其书写格式为_。(分数:2.50)AaB.AA.aC.a()D.AA:a()24.下列关于对象初始化的叙述中,正确的是_。(分数:2.50)A.定义对象的时候不能对对象进行初始化B.定义对象之后可以显式地调用构造函数进行初始化C.定义对象时将自动调用构造函数进行初始化D.在一个类中必须显式地定义构造函数实现初始化25.有如下类

11、声明: class Pam int k; public: Pam(int n); void show()constcoutk; ; 若要在类体外给出构造函数 Pam 的定义,下列定义中正确的是_。(分数:2.50)A.Pam(int n):kin)B.Pam:Pam(int n):k(n)C.void Pam(int n):k(n)D.void Pam:Pam(int n):k(n)26.ClassA 是一个类,现在执行下面语句: ClassA a2,*b2.*c=new ClassA; 调用 ClassA 类的构造函数的次数是_。(分数:2.50)A.1B.2C.3D.527.Sample

12、是一个类,执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2.*p=new Sample;(分数:2.50)A.0B.1C.2D.328.若 MyClass 为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造函数的次数是_。(分数:2.50)A.2B.5C.4D.929.对于一个类定义,下列叙述中错误的是_。(分数:2.50)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造

13、函数和拷贝构造函数,编译器不会生成任何构造函数30.有如下程序: #includeiostream using natnespace std; class CD public: CD()cout“C“; private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.50)A.CCCCB.CCCC.CCDC31.有如下程序: #includeiostream using namespace std; class Monkey public: Monkey() cout“M“; Monkey(char n)coutn

14、 Monkey()cout“Y“; ; int main() Monkey p1,*p2; p2=new Monkey(“X“); delete p2; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.MYXB.MYMYC.MXYD.MXYY32.有如下程序: #includeiostream #includecstring using namespace std; class Name char name20; public: Name()strcpy(name,“); cout“?“; Name(char*fname)strcpy(name,fname);cout“

15、 ; int main() Name names3=Name(“张三“),Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.333.有如下程序: #includeiostream using namespace std; class AA public: AA() cout1; AA(AA ; void f1(AA a) void f2(AA f1(aa); f2(aa); return 0; 运行这个程序的输出是_。(分数:2.50)A.1B.12C.122D.12134.有如下头文件 int f1(); static

16、int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是_。(分数:2.50)Af1Bf2Cf3Df435.有如下类定义: class Number private: static int num; ; 要初始化 Number 类的静态成员 num,应当在后面加上语句:_。(分数:2.50)A.int num=0;B.static int num=0;C.int Number:num=0;D.static int Number:num=0;36.有如下程序: #includeiostream

17、 using namespace std; class XA int a; public: static int b; XA(int aa):a(aa)b+; int getA()return a; ; int XA:b=0; int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.9B.11C.13D.1537.有如下程序: #includeiostream using namespace std; class Toy public: Toy(ch

18、ar*_n)strcpy(name,_n);count+; Toy()count-; char*GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int main() Toy t1(“Snoopy“),t2(“Mickey“),t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错二、填空题(总题数:6,

19、分数:12.00)38.有如下程序: #includeiostream using namespace std; void fun(int x=y/4; x+; int main() int x=4,y=5; fun(x,y); coutx+y; return 0; 运行这个程序的输出结果是 1 (分数:2.00)39.下列程序运行时的输出结果是 1 #includeiostream using namespace std; int Xfun(int *a,int n); int main() int b6=-2,6,8,3,5,4; coutXfun(b,6)endl; return 0;

20、int Xfun(int*a,int n) int x=0; for(int*p=a;pa+n;p+)if(*p0)x+=*p; return x; (分数:2.00)40.下列程序运行时的输出结果是 1 #includeiostream using namespace std; void Xfun(int int main() int a=3,b=4; Xfun(a,b); couta*a+bendl; return 0; void Xfun(int x=y;y=z; (分数:2.00)41.有如下程序: #includeiostream using namespace std; int f

21、un1(int x)return+x; int fun2(int int main() int x=1,y=2; y=fun1(fun2(x); coutx“,“y; return 0; 程序的输出结果是 1 (分数:2.00)42.函数 fun 的功能是将一个数字字符串转换为一个整数,请将函数补充完整。 int fun(char*str) int num=0; while(*str) num*=10; num+= 1; str+; return num; (分数:2.00)43.函数 Min 的功能是返回具有 n 个元素的数组 array 中的最小值。请将横线处的缺失部分补充完整,使得程序的

22、输出结果为 1.24。 #includeiostream using namespaee std; templatetypename T T Min(T*array,int n) T rain=array0; for(int i=1;in;i+) if(arrayimin)min=arrayi; return min; int main() double arr8=5.2,48.45,41.01,42,51.2,1.24,14.12,42; cout 1; return 0; (分数:2.00)二级 C+-165 答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:37,分数

23、85.00)1.下列关于 C+函数的叙述中,正确的是_。(分数:2.00)A.函数不能自己调用自己B.每个函数都必须返回一个值C.每个函数至少要有一个参数D.函数在被调用之前必须先进行声明或定义 解析:2.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无

24、法运行B.输出:3C.输出:3.0D.输出一个不确定的数 解析:3.若有函数调用“fun(x*y,3,max(a,b,c)”,则 fun 的实参个数为_。(分数:2.00)A.3 B.4C.5D.6解析:4.若有函数原型声明为“void fun(int*x,int ”,下列叙述中,错误的是_。(分数:2.00)A.调用函数 fun 时必须给出 3 个实参 B.函数 fun 中有 1 个指针形参C.函数 fun 中有 1 个形参有默认值D.函数 fun 中有 1 个引用形参解析:5.若一个函数的原型为“int*Xfun1(int x,int”,则该函数的返回值类型为_。(分数:2.00)A.in

25、t* B.intC.intB.void fun(int x,int y=0);C.void fun(int x=0,int y); D.void fun(int x,int y);解析:9.下列函数原型声明中,错误的是_。(分数:2.00)A.int fnction(int m,int n);B.int function(int,int);C.int function(int m=3,int n); D.int function(int 解析:10.下列关于默认参数的叙述中,错误的是_。(分数:2.00)A.为形参列表中的多个参数指定默认值时,应从右至左进行设置B.若函数的所有形参都指定了默认

26、值,则调用时可不给出实参C.C+中的默认参数可以简化对复杂函数的调用D.若要为参数指定默认值,必须在函数定义及其原型声明中同时指定 解析:11.下列关于函数参数的叙述中,正确的是_。(分数:2.00)A.在函数原型中不必声明形参类型B.函数的实参和形参共享内存空间C.函数形参的生存期与整个程序的运行期相同D.函数的形参在函数被调用时获得初始值 解析:12.有如下程序: #includeiostream using namespace std; void f1(int void f2(int x)+x; int main() int x=10,y=12; f1(x); f2(y); coutx+

27、yendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.22B.23 C.24D.25解析:13.有如下程序: #includeiostream using namespace std; void fun(char c) cout“char c/“; void fun(double d) cout“double d/“; void fun(char*p) cout“char*p/“; int main() fun(0); return 0; 进行编译、链接、运行的结果是_。(分数:2.00)A.编译出错,无法运行 B.输出:char c/C.输出:double d/

28、D.输出:char*p/解析:14.有如下程序: #includeiostream 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; 运行后的输出结果是_。(分数:2.00)A.int i/int i/B.int i/char c/ C.char c/int i/D.char c/char c/解析:15.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声

29、明中正确的是_。(分数:2.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);解析:16.下列有关内联函数的叙述中,正确的是_。(分数:2.50)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的 D.内联函数函数体的最后一条语句必须是 return 语句解析:17.下列关于内联函数的叙述中,错误的是_。(分数:2.50)A.内联函数的定义必须出

30、现在内联函数第一次被调用之前B.内联函数主要解决程序的运行效率问题C.类体中定义的函数都是内联函数D.内联函数不能有参数 解析:18.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.50)A.内联函数 B.重载函数C.递归函数D.函数模板解析:19.求 n 阶勒让德多项式的递归函数定义如下: double P(double x,int n) if(n=0) return 1; if(n=1) return x; if(n1)return(2*n-1)*x-P(x,n-1)-(n-1)*P(x,n-2)/n; 若执行函数调用表达式 P(1.3,2),函数 P 被调用的次数

31、是_。(分数:2.50)A.1B.2 C.3D.4解析:20.计算斐波那契数列第 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(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2 C.3D.4解析:21.以下关键字用来声明类的访问权限的是_。(分数:2.50)A.constB.staticC.protected D.case解析:22.有如下类定义: class MyClass int b;char

32、a;double c; public; MyClass():c(0.0),b(0),a(“,“) ; 创建这个类的对象时,数据成员的初始化顺序是_。(分数:2.50)A.a,b,cB.c,b,aC.b,a,c D.c,a,b解析:23.若 AA 为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a 时,其书写格式为_。(分数:2.50)Aa B.AA.aC.a()D.AA:a()解析:24.下列关于对象初始化的叙述中,正确的是_。(分数:2.50)A.定义对象的时候不能对对象进行初始化B.定义对象之后可以显式地调用构造函数进行初始化C.定义对象时将自动调用构造函数进行初始化

33、 D.在一个类中必须显式地定义构造函数实现初始化解析:25.有如下类声明: class Pam int k; public: Pam(int n); void show()constcoutk; ; 若要在类体外给出构造函数 Pam 的定义,下列定义中正确的是_。(分数:2.50)A.Pam(int n):kin)B.Pam:Pam(int n):k(n) C.void Pam(int n):k(n)D.void Pam:Pam(int n):k(n)解析:26.ClassA 是一个类,现在执行下面语句: ClassA a2,*b2.*c=new ClassA; 调用 ClassA 类的构造函

34、数的次数是_。(分数:2.50)A.1B.2C.3 D.5解析:27.Sample 是一个类,执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2.*p=new Sample;(分数:2.50)A.0B.1C.2D.3 解析:28.若 MyClass 为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造函数的次数是_。(分数:2.50)A.2B.5C.4 D.9解析:29.对于一个类定义,下列叙述中错误的是_。(分数:2.50)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造

35、函数 C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数解析:30.有如下程序: #includeiostream using natnespace std; class CD public: CD()cout“C“; private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.50)A.CCCCB.CCC C.CCDC解析:31.有如下程序: #includeiostream using namespace std;

36、class Monkey public: Monkey() cout“M“; Monkey(char n)coutn; Monkey()cout“Y“; ; int main() Monkey p1,*p2; p2=new Monkey(“X“); delete p2; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.MYXB.MYMYC.MXYD.MXYY 解析:32.有如下程序: #includeiostream #includecstring using namespace std; class Name char name20; public: Name()str

37、cpy(name,“); cout“?“; Name(char*fname)strcpy(name,fname);cout“?“; ; int main() Name names3=Name(“张三“),Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.3 解析:33.有如下程序: #includeiostream using namespace std; class AA public: AA() cout1; AA(AA ; void f1(AA a) void f2(AA f1(aa); f2(aa); return 0;

38、 运行这个程序的输出是_。(分数:2.50)A.1B.12 C.122D.121解析:34.有如下头文件 int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是_。(分数:2.50)Af1Bf2Cf3 Df4解析:35.有如下类定义: class Number private: static int num; ; 要初始化 Number 类的静态成员 num,应当在后面加上语句:_。(分数:2.50)A.int num=0;B.static int num

39、0;C.int Number:num=0; D.static int Number:num=0;解析:36.有如下程序: #includeiostream using namespace std; class XA int a; public: static int b; XA(int aa):a(aa)b+; int getA()return a; ; int XA:b=0; int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.9B.11C.

40、13 D.15解析:37.有如下程序: #includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name,_n);count+; Toy()count-; char*GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int main() Toy t1(“Snoopy“),t2(“Mickey“),t3(“Barbie“);

41、 coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3 D.运行时出错解析:二、填空题(总题数:6,分数:12.00)38.有如下程序: #includeiostream using namespace std; void fun(int x=y/4; x+; int main() int x=4,y=5; fun(x,y); coutx+y; return 0; 运行这个程序的输出结果是 1 (分数:2.00)解析:839.下列程序运行时的输出结果是 1 #includeiostream using namespace

42、std; int Xfun(int *a,int n); int main() int b6=-2,6,8,3,5,4; coutXfun(b,6)endl; return 0; int Xfun(int*a,int n) int x=0; for(int*p=a;pa+n;p+)if(*p0)x+=*p; return x; (分数:2.00)解析:2340.下列程序运行时的输出结果是 1 #includeiostream using namespace std; void Xfun(int int main() int a=3,b=4; Xfun(a,b); couta*a+bendl;

43、return 0; void Xfun(int x=y;y=z; (分数:2.00)解析:1941.有如下程序: #includeiostream using namespace std; int fun1(int x)return+x; int fun2(int int main() int x=1,y=2; y=fun1(fun2(x); coutx“,“y; return 0; 程序的输出结果是 1 (分数:2.00)解析:2,342.函数 fun 的功能是将一个数字字符串转换为一个整数,请将函数补充完整。 int fun(char*str) int num=0; while(*str)

44、 num*=10; num+= 1; str+; return num; (分数:2.00)解析:*str-“0“43.函数 Min 的功能是返回具有 n 个元素的数组 array 中的最小值。请将横线处的缺失部分补充完整,使得程序的输出结果为 1.24。 #includeiostream using namespaee std; templatetypename T T Min(T*array,int n) T rain=array0; for(int i=1;in;i+) if(arrayimin)min=arrayi; return min; int main() double arr8=5.2,48.45,41.01,42,51.2,1.24,14.12,42; cout 1; return 0; (分数:2.00)解析:Min(arr,8)

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