【计算机类职业资格】二级C++-165及答案解析.doc
《【计算机类职业资格】二级C++-165及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-165及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
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,分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C165 答案 解析 DOC
