1、#*2015 年 4 月高等教育自学考试全国统一命题考试C+程序设计 试卷(课程代码 04737)本试卷共 ll 页,满分 t00 分,考试时间 l50 分钟。考生答题注意事项:1本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2第一部分为选择题。必须对应试卷上的题号使用 2B 铅笔将“答题卡”的相应代码涂黑。3第二部分为非选择题。必须注明大、小题号,使用 05 毫米黑色字迹签字笔作答。4合理安排答题空间。超出答题区域无效。第一部分 选择题一、单项选择题(本大题共 20 小题,每小题 l 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其
2、选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。1C+语言是从早期的 C 语言逐渐发展演变而来的,与 C 语言相比,C+在求解问题方法上进行的最大改进是A面向过程 B面向对象 C.安全性 D复用性2结构化程序设计所规定的三种基本控制结构是A. 输入、处理、输出 B树形、网形、环形C顺序、选择、循环 D. 主程序、子程序、函数3关于函数模板,描述错误的是A函数模板必须由程序员实例化为可执行的函数模板B. 函数模板的实例化由编译器实现C一个类定义中,只要有一个函数模板,则这个类是类模板D类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化4作用域运算符“:”的功能是A标识作
3、用域的级别的 B指出作用域的范围的C给定作用域的大小的 D标识成员是属于哪个类的5采用重载函数的目的是A实现共享 B减少空间C提高速度 D使用方便,提高可读性6以下关键字不能用来声明类的访问权限的是Apublic Bprivate Cstadc Dprotected7. 有如下类声明“class Aint x;” ,则 A 类的成员 x 是A. 公有数据成员 B私有数据成员C公有成员函数 D私有成员函数8. 下列不是构造函数的特征的是A构造函数的函数名与类名相同 B构造函数可以重载C构造函数可以设置缺省参数 D构造函数不能重载#*9通常的拷贝构造函数的参数是A. 某个对象名 B某个对象成员名C
4、某个对象的引用 D某个对象的指针名10下列哪个类型函数不适合声明为内联函数?A. 函数体语句较多 B函数体语句较少C函数执行时间较短 D函数执行时间过长11设 x 和 y 均为 bool 量,则 xy 为真的条件是A它们均为真 B其中一个为真C它们均为假 D其中一个为假12对于友元描述正确的是A友元是本类的成员函数 B友元不是本类的成员函数C友元不是函数 D友元不能访问本类私有成员13当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的Apublic 成员 Bprivate 成员 Cprotected 成员 D友元14在 C+语言中,080 是A八进制数 B十进制数 C十六进制数
5、D非法数15下面函数原型声明中,声明了 fun 为虚函数的是A. void fun()=0 Bvirtual void fun()=OCvirtual void fun() Dvirtual void fun()16下列虚基类的声明中,正确的是Aclass virtual B:public A Bclass B:virtual public ACclass B:public A virtual Dvirtual class B:public A17下列运算符中,在 C+语言中不能重载的是A. * B= C: D 18在 C+语言中,能代表逻辑值“假”的是A小于 0 的数 B大于 0 的数 C非
6、 0 整数 D019以下叙述中不正确的是A在一个函数中,可以有多条 return 语句B函数的定义不能嵌套,但函数的调用可以嵌套C函数必须有返回值D不同的函数中可以使用相同名字的变量20已知:int m=10;在下列表示引用的方法中,下列哪一项是正确的?Ahatx=m Bint&y=10 C.intz Dfloat &t=m第二部分 非选择题二、填空题(本大题共 20 小题,每小题 l 分,共 20 分)请在答题卡上作答。 21对象的核心概念就是通常所说的继承、封装和_。22cin 后面的符号是:,cout 后面的符号是_。23面向对象编程的英文缩写是_。24已知 x=2,y=3,xy 的值是
7、_。25执行下列代码:#*double pi=31415926;coutsetprecision(5)pi:程序的输出结果是_。26建立一个对象时,对象的状态是不确定的。为了使对象的状态确定,必须对其进行正确的_。27重载运算符的含义必须清楚,不能有_。28按照联编进行阶段的不同,联编方法可分为两种:动态联编和_。29设要把一个文件输出流对象 myFile 与文件“f:myTexttxt”相关联,所用的C+语句是_。30在 C+中,函数鲢参数有两种传递方式,它们是_和地址或指针或引用传递。31设有定义 int x=3,y=4;则表达式 x*=y+5 的值为_。32在 C+中,函数在定义时可以预
8、先定义出默认的形参值。默认形参值必须按_的顺序定义。因为在调用时,实参初始化形参是按从左到右的顺序。33如果一个函数直接或间接地调用自身,这样的调用称为_调用。34函数模板中紧随 template 之后尖括号内的类型参数都要冠以保留字_。35假如一个类的名称为 MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调用_构造函数来完成此功能。 r36设函数 sum 是由函数模板实现的,并且 sum(3,6)和 sum(46,8)都是正确的函数调用,则函数模板具有_个类型参数。37如果一个派生类只有一个唯一的基类,则这样的继承关系称为_。38. 一个 const 对象只能访问_成员函
9、数。39如果通过同一个基类派生一系列的类,则将这些类总称为_。40A 是一个类,已有语句“A*p;P=new A10;” 。要释放由 P 指向的动态空间,正确的语句应该是_。三、改错题(本大题共 5 小题,每小题 4 分,共 20 分)请在答题卡上作答。 下面的程序段中各有一处错误,请将错误所在行抄写在答题卡上,并指出错误原因。#*#*#*#*四、完成程序题(本大题共 5 小题。每小题 4 分。共 20 分)请在答题卡上作答。#*46在下面程序横线处填上适当字句,以使该程序执行结果为:47在下面程序的底藏线处填上适当的字句,使该程序执行结果为 40,X 为静态成员。#*48在下列程序的空格处填上适当的字句,使输出为:0,2,10。#*49下面是一个输入半径,输出其面积和周长的 C+程序,在下划线处填上正确的语句。50请完成一下程序,使其输出结果为: