【学历类职业资格】C++程序设计自考题-3及答案解析.doc
《【学历类职业资格】C++程序设计自考题-3及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题-3及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题-3 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.用于包含 C+标准库 iostream的预处理指令是( )A#defineiostream B#includeiostreamC#defineiostream D#includeiostream(分数:1.00)A.B.C.D.2.设有定义 int i;double j=5;,则 10+i+j值的数据类型是( )Aint BdoubleCfloat D不确定(分数:1.00)A.B.C.D.3.对 class Base,如使用 Base*pt=new Base2;创
2、建对象数组,则删除此数组使用的语句是( )Adelete pt2; Bdelete pt;Cdelete pt; Ddelete2pt;(分数:1.00)A.B.C.D.4.函数调用 func(exp1,exp2),(exp3,exp4,exp5)中所含实参的个数为( )A1 B2C4 D5(分数:1.00)A.B.C.D.5.下列选项中属于 C+语句的是( )A; Ba=17Ci+5 Dcout/n(分数:1.00)A.B.C.D.6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )A友元函数 B虚函数C构造函数 D析构函数(分数:1.00)
3、A.B.C.D.7.C+中是否允许在类结构中定义函数( )A不允许 B允许C仅允许定义构造函数 D只不允许定义构造函数(分数:1.00)A.B.C.D.8.假定 AB为一个类,则执行“AB a(2),b3,*p4;“语句时调用该类构造函数的次数为( )A3 B4C5 D9(分数:1.00)A.B.C.D.9.假定 AB为一个类,px 为指向该类的一个含有 n个对象的动态数组的指针,则执行“delete px;“语句时调用该类析构函数的次数为( )A0 B1Cn Dn+1(分数:1.00)A.B.C.D.10.假定一个类的构造函数为“A(int i,int j)x=i;y=i*j;“,则执行“A
4、 a(4,5);“语句后,a.x 和 a.y的值分别为( )A4 和 5 B5 和 4C4 和 20 D20 和 5(分数:1.00)A.B.C.D.11.已知 f和 g是同一类中的两个成员函数,若 f的实现代码体内不能调用 g,则可能的情况是( )Af 和 g都是常成员函数 Bf 是常成员函数,g 不是Cf 不是常成员函数,g 是常成员函数 Dg 和 f都不是常成员函数(分数:1.00)A.B.C.D.12.静态成员函数没有( )A返回值 Bthis 指针C指针参数 D返回类型(分数:1.00)A.B.C.D.13.要禁止修改指针 p本身,又要禁止修改 p所指向的数据,这样的指针应定义为(
5、)Aconst char*p=“ABCD”; Bchar*const p=“ABCD”;Cchar const*p=“ABCD”; Dconst char*const p=“ABCD”;(分数:1.00)A.B.C.D.14.类 A中存在静态数据成员 x,设 a和 b是类 A的两个对象,在执行 a.x=10之后,b.x 的值为( )A未初始化 B等于 a.xC等于 0 D随机(分数:1.00)A.B.C.D.15.当一个类的某个函数被说明为 virtual时,该函数在该类的所有派生类中( )A都是虚函数 B可能是虚函数C只有被重新说明为 virtual时才是虚函数 D都不是虚函数(分数:1.0
6、0)A.B.C.D.16.如果表达式+a 中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )Aa.operator+(1) Boperator+(a)Coperator+(a,1) Da.operator+()(分数:1.00)A.B.C.D.17.对于友元描述正确的是( )A友元是本类的成员函数 B友元不是本类的成员函数C友元不是函数 D友元不能访问本类的私有成员(分数:1.00)A.B.C.D.18.在 main函数中可以用 p.a的形式访问派生类对象 p的基类成员 a,其中 a是( )A私有继承的公有成员 B公有继承的私有成员C公有继承的保护成员 D公有继承
7、的公有成员(分数:1.00)A.B.C.D.19.对类 A,复制构造函数的原型是( )AA:A(const A&); BA:A(const A*);CA:A(const A); DA:A();(分数:1.00)A.B.C.D.20.声明友元使用的关键字为( )Aconst BstaticCclass Dfriend(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:20.00)21.假设 int a=1,b=2;,则表达式(+a/b)*b-的值为 1。(分数:1.00)填空项 1:_22.每个对象都是所属类的一个 1。(分数:1.00)填空项 1:_23.执行下列程序double
8、 a=3.1415926,b=3.14;coutsetprecision(5)a“,“setpreeision(5)bendl;程序的输出结果是_。(分数:1.00)填空项 1:_24.在程序中执行 int*a=new int之后,若 a为空指针,则表明 1。(分数:1.00)填空项 1:_25.若要使用 string类,需要引入的头文件是 1。(分数:1.00)填空项 1:_26.在 C+中,编译指令都是以 1(符号)开始。(分数:1.00)填空项 1:_27.假定用户为类 A定义了一个构造函数“A(int i=0):x(i)“,则与该语句等价的定义构造函数的格式为 1。(分数:1.00)填
9、空项 1:_28.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常为该类定义 1。(分数:1.00)填空项 1:_29.复制构造函数使用 1 作为形式参数。(分数:1.00)填空项 1:_30.在已经定义了整型指针 ip后,为了得到一个包括 10个整数的数组并由 ip所指向,应使用语句 1。(分数:1.00)填空项 1:_31.C+函数分为库函数(标准函数)和 1 两类。(分数:1.00)填空项 1:_32.设类 A有成员函数 void f(void);,若要定义一个指向类成员函数的指针变量 pf来指向 f,该指针变量的声明语句是 1。(分数:1.00)填空项 1:_33.在单一
10、继承和多重继承方式中,面向对象程序设计应尽量使用 1 继承。(分数:1.00)填空项 1:_34.继承的方式有公有继承、私有继承和 1。(分数:1.00)填空项 1:_35.C+函数的返回值类型可以是除 1 与函数以外的任何类型。(分数:1.00)填空项 1:_36.vector类中用于删除向量中的所有对象的方法是 1。(分数:1.00)填空项 1:_37.一个抽象类的派生类可以实例化的必要条件是实现了所有的 1。(分数:1.00)填空项 1:_38.在 C+中,虚函数帮助实现了类的 1。(分数:1.00)填空项 1:_39.如果在派生类中要访问被重定义了的基类同名函数,那么需使用 1 才可调
11、用。(分数:1.00)填空项 1:_40.如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生 1 静态变量。(分数:1.00)填空项 1:_三、改错题(总题数:5,分数:20.00)41.#includeiostream.hclass Apublic:A(int i=8):y(i)static int x:int y;int x=20;/对类成员初始化void main()A a;couta.x“,“a.yendl;(分数:4.00)_42.#includeiostreamhclass Aint a,b;const int c;public:A():c(0),a(0),b(0)A(i
12、nt aa,int bb):c(aa+bb)a=aa;b=bb;void show()cout“const c:“cendl;cout“a,b:“abendl;void main()A a,b(1,2);A*x=&a;x.show();b.show();(分数:4.00)_43.运行程序,从键盘上输入“This is a C+prog!”后输出到一个文件中,并显示在屏幕上,显示结果:This is a C+prog!。#includeiostream#includefstream#includestringusing namespace std;void main()char str20;of
13、stream outf(“D:/tem.dat“,ios:trunc);cinstr;outfstr;outf.close();int i=0;while(stri!=/0)coutstri;i+;coutendl;(分数:4.00)_44.#includeiostream#includefstream#includestringusing namespace std;class Apublic:A(const char*na)strcpy(name,na);private:char name80;class B:public Apublic:B(const char*nm):A(nm)voi
14、d show();void B:show()cout“name:“nameendl;void main()B b1(“B“);b1.show();(分数:4.00)_45.#includeiostream.hclass Aprivate:int x;public:A(int i)x=i;A()x=0;friend int min(A&,A&);:int min(A&a,A&b)return(a.xb.x)? a.x:b.x;void main()A a(3),b(5);couta.min(a,b)endl;(分数:4.00)_四、完成程序题(总题数:5,分数:20.00)46.完成下面类中成员
15、函数的定义。#includeiostream.hclass vehicleprotected:int size;int speed;public:void set(int s)speed=s;_get()return speed/10;class car:public vehiclepublic:int get()return speed;class truck:public vehiclepublic:int get()return speed/2;int max(_)if(v1.get()v2.get()return 1;elsereturn 2;void main()truck t;ca
16、r c;t.set(160);c.set(80);coutmax(t,c)endl;/此结果输出为 2(分数:4.00)_47.在下划线处填上缺少的部分。#includeiostream.hclass Aint a,b;public:_/定义构造函数,使参数 i和 j的默认值为 0a=i;b=j;/在函数体中用 i初始化 a,用 j初始化 b;main()A*p;_;/调用带参构造函数生成由 p指向的动态对象/使 a和 b成员分别被初始化为 4和 5(分数:4.00)_48.先为数组 a输满数据,再为 x输入一个数据,在数组 a中找出第一个与 x相等的元素并将其下标输出,若不存在这样的元素,则
17、输出“Not found!“标志。#includeiostream.hvoid main()int i,x,a10,m;cout“输入数组中的 10个数据:“;for(i=0;i10;i+)cinai;coutendl“输入要查找的一个数据:“;cinx;coutxendl;for(i=0;i10;i+)if(_)m=i;break;if(_)coutx“在数组中的位置是:“mendl;elsecout“Not found!/n“endl;(分数:4.00)_49.完成下面类中成员函数的定义。#includeiostream#includestringusing namespace std;c
18、lass strprivate:char*st;public:str(char*a)set(a);str&operator=(_)delete st;set(a.st);return*this;void show()coutstendl;str()delete st;void set(char*s)/初始化 st_strcpy(st,s);void main()str s1(“he“),s2(“she“);s1.show(),s2.show();s2=s1;s1.show(),s2.show();(分数:4.00)_50.下面程序段用来求三角形的面积,首先进行判断,三边不符合组成三角形时,返回
19、-1;符合时输出三角形面积。#includeiostream.h#includemath.hdouble area(double a,double b,double c)if(_)return -1;elsedouble ar,1;1=(a+b+c)/2;ar=sqrt(1*(1-a)*(1-b)*(1-c);return ar;void main()double i=0,j=0,k=0;cout“输入三角形三边:“;cinijk;double s=area(i,j,k);if(s0)cout“不是三角形“endl;else_(分数:4.00)_五、程序分析题(总题数:2,分数:10.00)5
20、1.给出下面程序的输出结果。#includeiostream.htemplateclass Tclass ComplexT real,image;public:Complex(T a,T b):real(a)image=b;Complex(T a)image=0,real=a;void pr()char c;c=(image0? +:-);if(image!=0)coutrealc(image0? image:-image)“i“endl;elsecoutrealendl:;void main()Complexdoublea(16.5,-7.8);a.pr();Complexintb(6);b
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 答案 解析 DOC
