违法信息举报 客服热线:400-118-7898
广告
?
专接本栏目测试广告

​自考C++程序设计2018年4月试题

自考 责任编辑:彭雅倩 2019-06-24

摘要:自考C++程序设计2018年4月试题及答案解析,该试卷为自考C++程序设计历年真题试卷,包含答案及详细解析。

自考C++程序设计2018年4月试题及答案解析

自考C++程序设计2018年4月试题及答案解析,该试卷为自考C++程序设计历年真题试卷,包含答案及详细解析。

一、单项选择题(本大题共20小题,每小题1分,共20分。)在每小题列出的备选项中只有一项是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均不得分。

1.下列关于C++标识符的命名不合法的是(  )

A.Pad
B.name_1
C.A#bc
D._a12

2.若有以下类型标识符定义:int x=2; char w=a; float y=23.45f; double z=45.6789; 则表达式w*x+y-z的结果类型是(  )

A.float
B.char
C.int
D.double

3.局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用下列哪一项提供对全局变量的访问(  )

A.作用域运算符
B.指针运算符
C.提取运算符
D.插入运算符

4.下列关于delete运算符的描述中,错误的是(  )

A.它必须用于new返回的指针
B.对一个指针可以使用多次该运算符
C.它也适用于空指针
D.指针名前只用一对方括号,不管所删除数组的维数

5.在C++中,类与类之间的继承关系具有(  )

A.自反性
B.对称性
C.传递性
D.反对称性

6.对类中声明的变量,下列描述中正确的是(  )

A.属于全局变量
B.属于该类,某些情况下也可被该类不同实例所共享
C.只属于该类
D.任何情况下都可被该类所有实例共享

7.在类定义的外部,可以被访间的成员有(  )

A.所有类成员
B.private或protected的类成员
C.public的类成员
D.public或 private的类成员

8.已知:int m=10; 下列表示引用的方法中,正确的是(  )

A.int &z;
B.int &t=1;
C.int &x=m;
D.float &f=&m;

9.对于int *pa[5]; 的描述中,正确的是(  )

A.pa是一个指向数组的指针,所指向的数组是5个i型元素
B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C.pa[5]表示数组的第5个元素的值,是int型的值
D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针

10.下列关于构造函数的描述中,错误的是(  )

A.构造函数可以设置默认参数
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数
D.构造函数不可以重载

11.关于成员函数特征的描述中,错误的是(  )

A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的

12.下列不是函数重载所要求的条件是(  )

A.函数名相同
B.参数个数不同
C.参数类型不同
D.函数返回值类型不同

13.下列有关模板的描述中,错误的是(  )

A.模板把数据类型作为一个设计参数,称为参数化程序设计
B.使用时,模板参数与函数参数相同,是按位置而不是名称对应的
C.模板实例化参数类型包括数据类型和值
D.类模板与模板类是同一个概念

14.用new运算符创建维数组的正确形式是(  )

A.int *p=new a[10];
B.float *p =new float[10];
C.int *p= new float[10];
D.int *p= new int[5]={1,2,3,4,5,6};

15.以下关于this指针的叙述中,正确的是(  )

A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针

16.如果有int x, *p; float y, *q; 则下面操作中,正确的是(  )

A.p=x
B.p=q
C.p=&x
D.p=&y

17.下列关于运算符重载的表述中,正确的是(  )

A.C++已有的任何运算符都可以重载
B.运算符函数的返回类型不能声明为基本数据类型
C.在类型转换符函数的定义中不需要声明返回类型
D.可以通过运算符重载来创建C++中原来没有的运算符

18.友元运算符@obj被C++编译器解释为(  )

A.operator@(obj)
B.operator@(obj, 0)
C.obj. operator@( )
D.obj. operator@( 0)

19.考虑函数原型 void test(int a, int b=7, char ch="*"),下面的函数调用中,属于不合法调用的是(  )

A.test(5)
B.test(5, 8)
C.test(6, "#")
D.test(0, 0, "*")

20.使用setw( )时需要包含头文件(  )

A.iostream. h
B.fstream. h
C.iomanip. h
D.stdli
E.h

二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。

11.面向对象程序设计不仅能进行功能抽象,而且能进行_________抽象。

12.C++提供的预处理语句有3种,文件包含、条件编译和_________。

13.在类体外面定义成员函数时,必须用关键字_________重写类模板声明。

14.输入流 istream用来处理标准输入的一个对象的是_________。

15.编译时的多态性通过_________函数实现。

16.假定x=5,y=6, 则表达式x++*++y的值为_________。

17.在C++程序中,对刚创建的对象进行初始化的工作由构造函数来完成;而对象被删除前的一些清理工作则是由_________函数来完成的。

18.在用 class定义一个类时,数据成员和成员函数的默认访间权限是_________。

19.不同对象可以调用相名称的函数,但执行完全不同行为的现象称为_________。

110.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到没有形参或_________的构造函数,否则应用程序会产生一个编译错误。

111.在C++中,变量的三个基本要素是指:变量名、变量类型和_________。

112.若有定义int a=3; 则执行完语句a+=a-=a*a; 之后,a的值为_________。

113.如果要把 Student类的返回值为void的成员函数 score( ),声明为类 Teacher的友元函数,则应在类 Teacher的定义中加入语句_________。

114.假定x是一个逻辑量,则x&&0的值为_________。

115.构造函数、析构函数和友元函数中,不是该类成员的是_________。

116.使用对象的引用来初始化创建中的对象的函数是_________。

117.定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。

118.复制构造函数使用_________作为形式参数。

119.当编译系统编译含有虚函数的类时,将为它建立一个虚函数表,表中的每一个元素都指向一个_________。

120.在函数体之前加_________关键字可以防止覆盖函数改变数据成员的值。

三、改错题(本大题共5小题,每小题2分,共10分)

21.#include ﹤iostream﹥using namespace std;void setzero(int &a) {a=0;}void main( ){int x=7; y=9;setzero(x);setzero(y);cout ﹤﹤x﹤﹤y ﹤﹤ endl;}

22.#include ﹤ iostream﹥using namespace std;class f{int a, b;public:void set( int aa, int bb) {a=aa; b=bb}void show( ) {cout ﹤﹤a ﹤﹤" "﹤﹤b﹤﹤ endl;}};void main ( ) {f. set(1, 2); f. show( );

23.#include ﹤iostream﹥using namespace std;void main( ){int a=11, b=12;const int *p=a;cout﹤﹤a﹤﹤b﹤*p﹤endl;}

24.#include ﹤iostream﹥using namespace std;void main( ){int a[6]={1,2,3,4,5,6,7};int i; for(i=0; i﹤7; i++)cout ﹤﹤a[li] ﹤﹤ endl;}

25.#include using namespace std;class person{int x; public: void person( ){x=1; }void set( int a) {x=a;}void get( ) {cout ﹤﹤x﹤﹤ endl;}};void main( ){person p;p. set(6);p. get( );}

四、完成程序题(本大题共5小题,每小题4分,共20分)

31.完成程序,使其输出结果为28_________using namespace std;int a[8]={1,2,3,4,5,6,7};void fun(int b[ ], int n);void main( ){int m=8; fun(a, m);cout ﹤﹤a[7]﹤﹤ endl;}void fun (int b[ ], int n) {int i; for(_________) b[7]+=b[i];}

32.完成程序,使其输出结果为x=30#include "stdafx. h"#include ﹤iostream﹥using namespace std;class Sample{ private:intx; public: Sample( ) {Sample(int a) { x=a;}void disp( ){cout﹤﹤"x="﹤﹤x ﹤﹤ endl;}friend Sample operator+( Sample &s1, Sample &s2);};_________Sample &s1, Sample &s2) {returm Sample(s1. x +s2. x);}void main( ) {Sample obj1(10);Sample obj2(20);Sample obj3;_________; obj3. disp( );}

33.#include ﹤iostream﹥using namespace std;class base{_________;public:base (int x, int y){a=x, b=y; }_________( base &p) {cout ﹤﹤p. a ﹤﹤" "﹤﹤p. b﹤﹤ endl;};void main( ){base b(78, 87); b. show(b);}

34.#include ﹤iostream﹥#include ﹤fstream﹥using namespace std;void main( ){char *p="abcde";_________myf("ab. txt");myf ﹤﹤p; cout﹤﹤"this is a txt file";_________;//关闭文件ab.txt}

35.完成程序,使其输出结果为 n=2,sum=2 n=3,sum=5 n=5,sum=10#include ﹤iostream﹥using namespace std;class Sample {int n;static int sum;public:Sample(int x) {n=x;}void add( ){_________;}void disp( ) {cout ﹤﹤"n="﹤﹤n﹤﹤"sum="﹤﹤sum﹤﹤end;}};_________;void main( ) {Sample a(2), b(3), c(5);a. add( );a. disp( );b. add( );b. disp( );c. add( );c. disp( );}

五、程序分析题(本大题共2小题,每小题10分,共20分)

41.#include ﹤iostream.h﹥using namespace std;void main( ){int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,7}};int m=a[0][0];int i, j;for(i=0; i﹤3; i++)for(j=0; j﹤4; j++)if(a[i][j]﹥m) m=a[i][j];cout﹤﹤"m is:" ﹤﹤endl;cout ﹤﹤m﹤﹤ endl;}

42.#include ﹤ iostream.h﹥using namespace std;class example{ public:example(int n) {i=n; cout﹤﹤"Constructing";}~example( ) {cout ﹤﹤"Destructing";}int get_i( ){return i;}private:int i;};int sqr_int( example o) {retum o. get_i( )*o. get_i( );}void main( ) {example x(10);cout ﹤﹤x. get_i( )﹤﹤ endl;cout ﹤﹤ sqr_it(x)﹤﹤endl;}

六、程序设计题(本大题共1小题,共10分)

51.声明一个circle类,有数据成员Radius(半径, foat型),成员函数GetArea( )计算圆的面积。在main函数中声明一个circle类的对象c1,其半径为5.6。调用 GetArea( )函数计算c1的面积,并显示该计算结果(cout﹤"圆的面积:"﹤﹤c1. Getarea﹤endl;)。

更多资料

00537 中国现代文学史 第一章 文学革命与五四新文学

15044《马原》2026年10月考前预测100题

00537 中国现代文学史 考前60分重点

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

自考备考资料免费领取

去领取