1404-全国-C++程序设计编程递归函数
总分:100
一、单选题(共20题,共20分)
1、设存在数组a,其长度为Len,则下列哪项泛型算法用于在a中寻值Value的位置()。(1分)
A:reverse(a,a+Len,Value);
B:sort(a,a+Len,Value);
C:find(a,a+Len,Value);
D:copy(a,a+Len,Value);
2、关于对象的性质,下列描述错误的是()(1分)
A:同一类对象间可相互赋值
B:可以使用对象数组
C:对象不可以用作函数参数
D:一个对象可以用作另一个类的成员
3、下列表达式,能将P声明为常量指针的是()。(1分)
A:constint*P;
B:int*constP;
C:constint*constP
D:int*P
4、假定有char*P="Hello";,要输出这个字符串的地址值的正确写法是()。(1分)
A:cout<<*P
B:cout<<P
C:cout<<&P
D:cout<<(void*)P
5、对C++中主函数描述正确的是()。(1分)
A:名称为main,可为多个
B:名称不限,可为多个
C:名称为main,必须有且只能有一个
D:名称不限,必须有且只能有一个
6、C++程序文件扩展名为()。(1分)
A:.cpp
B:.h
C:.lib
D:.obj
7、使用下列流格式控制符能输出一个换行符的是()。(1分)
A:dec
B:oct
C:hex
D:endl
8、下列运算符不能重载的是()。(1分)
A:!
B:sizeof
C:new
D:delete
9、声明一个没有初始化参数的对象,需调用()。(1分)
A:指定参数构造函数
B:拷贝构造函数
C:初始化函数
D:默认构造函数
10、类构造函数定义的位置是()。(1分)
A:类体内或体外
B:只是在类体内
C:只在类体外
D:在类的成员函数中
11、面向对象中的“对象”是指()。(1分)
A:行为抽象
B:数据抽象
C:行为抽象和数据抽象的统一
D:行为抽象和数据抽象的对立
12、下列默认参数的声明不正确的是()。(1分)
A:intmax(inta,intb,intc,intd=0);
B:intmax(inta,intb,intc=0,intd=0);
C:intmax(inta=0,intb,intc=0,intd=0);
D:intmax(inta,intb=0,intc=0,intd=0);
13、设函数int&index(int*a,inti)返回数组a中下标为i的元素,如存在整型数组intArray[]={1,2,3},在执行index(Array,2)++后,Array中各元素值为()(1分)
A:{0,1,2}
B:{1,1,2}
C:{1,2,4}
D:{0,2,3}
14、在类外定义成员函数时,::运算符两侧分别连接()。(1分)
A:返回值类型函数名
B:返回值类型类名
C:函数名类名
D:类名函数名
15、只能在自身类和子类成员函数中被访问,无法通过对象在类外访问的成员属于()。(1分)
A:private
B:protected
C:public
D:publish
16、下列关于类的权限描述错误的是()。(1分)
A:类本身的成员函数可以访问自身的任何成员
B:类的对象只能访问公有成员
C:普通函数可以不通过对象直接访问类的公有成员
D:一个类可以包含另一个类的对象作为成员
17、一个函数功能不太复杂,但要求频繁使用,则该函数适合作为()。(1分)
A:内联函数
B:重载函数
C:递归函数
D:嵌套函数
18、对于友元描述正确的是()。(1分)
A:友元是本类的成员函数
B:友元不是本类的成员函数
C:友元不是函数
D:以上皆不正确
19、下列描述错误的是()。(1分)
A:友元是本类的成员函数
B:静态成员是类的成员,不是对象成员
C:静态成员不能是虚函数
D:静态成员函数不能直接访问非静态成员
20、如P是一指针类型表达式,则下列表达式中不是左值表达式的是()。(1分)
A:P
B:*P
C:&P
D:P+1
二、填空题(共20题,共20分)
21、C++类成员的访问权限有______、公有和保护三种。(1分)
22、C++语言中动态分配内存的关键字是______。(1分)
23、默认参数是在______中说明的,默认参数可以多于一个。(1分)
24、C++程序的编译是以______为单位进行的。(1分)
25、执行下列代码:inta=123,b=321;cout<<setw(3)<<a<<b<<endl;程序输出结果是:______。(1分)
26、vector类中用于返回向量中第一个对象的方法是______。(1分)
27、C++语言中的整数常量有四种:十进制常量、长整型常量、八进制常量和______。(1分)
28、C++类中的______函数在对象的生存期结束时被自动调用。(1分)
29、写出声明一个复数对象num的语句,并使对象被初始化为单精度2.2+1.3i,此声明语句______。(1分)
30、对象作为函数参数,就是将实参对象的______传递给形参对象,这种传递是单向的。(1分)
31、执行下列代码:doublepi=3.1415926;cout<<setprecision(5)<<pi;程序的输出结果
是______。(1分)
32、要关闭一个输出流对象myFile,所用的C++语句是______。(1分)
33、基类的公有成员在通过公有派生得到的子类中访问权限是______。(1分)
34、拷贝构造函数使用______作为参数初始化创建中的对象。(1分)
35、通过C++语言中的______机制,可以从现存类中构建其子类。(1分)
36、建立一个对象时,对象的状态是不确定的。为了使对象的状态确定,必须对其进行正确的______。(1分)
37、在C++语言中,利用向量类模板定义一个具有20个int类型且初值为1的向量C,实现此操作的语句是______。(1分)
38、UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为______。(1分)
39、声明一个常成员函数Fun,返回类型为char,第一个参数类型为int,第二个参数类型为double,则该函数的声明原型是______。(1分)
40、将指向对象的指针作为函数参数,形参是对象指针,实参是对象的______。(1分)
三、综合题(共5题,共20分)
41、完成下面类中的成员函数的定义。(4分)
(4分)
42、完成程序题(4分)
#include<iostream>usingnamespacestd;classbase{private:intx;public:base(inta){x=a;}intget(){returnx;}voidshowbase(){cout<<"x="<<x<<endl;}};classDerived:publicbase{private:inty;public:Derived(inta,intb):base(a){y=b;}voidshowderived(){cout<<"x="<<get()<<",y="<<y<<endl;}};voidmain(){baseb(3);Derivedd(6,7);b.showbase();d.showderived();______;b.showbase();,______;b1.showbase();base*pb=&b1;’pb->showbase();d.showderived();b.showbase();}输出结果如下:x=3x=6,y=7x=6x=6x=6x=6,y=7x=6(4分)
43、完成程序题(4分)
#include<iostream>#include<fstream>usingnamespacestd;classcomplex{public:intreal:intimag;complex(intr=0,inti=0){real=r;imag=i;}};complexoperator+(______,complex&b){intr=a.real+b.real:inti=a.imag+b.imag;return______:}voidmain(){complexx(1,2),y(3,4),z;z=x+y;cout<<z.real<<"+"<<z.imag<<"i"<<endl;}(4分)
44、下面程序的运行结果如下:Thisisline1Thisisline2Thisisline3将下列程序补充完整,答案写在答题纸上。源程序如下:(4分)
#include<iostream>#include______usingnamespacestd;voidmain(){fstreamfin,fout;fout.open("my.txt",ios::out);if(!fout.is_open())return;for(inti=0;i<3;i=i+1)fout<<"Thisisline"<<i+1<<endl;fout.close();fin.open("my.txt",ios::in);if(!fin.is_open())return;charstr[100];while(______){fin.getline(str,100);cout<<str<<endl;}fin.close();}(4分)
45、求两个浮点数之差的cha函数的原型声明、调用方法。(4分)
#include<iostream>usingnamespacestd;voidmain(){floata,b;______;//函数cha的原型声明a=12.5;b=6.5;floatc=______;//调用函数chacout<<c<<endl;}floatcha(floatx,floaty){floatw;w=x-y;returnw;}(4分)
四、文字题(共8题,共40分)
46、下面的每题中有一处错误,请在答题纸上写出错误所在行并给出修改意见#include<ios
tream.h>classf{private:Tx,y;public:f1(Ta,Tb){x=a;y=b;}Tmax(){return(x>y)?x:y;}};main(){fa;a.f1(1.5,3.8);cout<<a.max()<<endl;}(4分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论