C++程序设计 试卷 (课程代码04737)
本试卷共10页,满分100分,考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o 4.合理安排答题空间,超出答题区域无效。
第一部分 选择题
一、单项选择题 (本大题共20小题,每小题1分。共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分。 1.在C++语言中用于注释的标识符是
A.& B.// C.* D./ 2.编写C++程序一般需经过的几个步骤依次是
A.编辑、调试、编译、连接 B.编译、调试、编辑、连接 C.编译、编辑、连接、运行 D.编辑、编译、连接、运行 3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用 A.内联函数 B.重载函数 C.内部函数 D.函数模板 4.设x=8,执行语句Y=x++,则y等于
A.6 B.7 C.9 D.8 5.下列运算符中,优先级最高的是
A. * B.一> C.&& D.>= 6.关于new运算符的下列描述中,错误的是 A.它可以用来动态创建对象和对象数组
B.使用它创建的对象和对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数
D.使用它创建对象数组时必须指定初始值 7.存储下列数据,占用存储字节最多的是 A. 0 B.‘0’ C.〝0〞 D.0.0 8.关于类和对象不正确的说法是
A.类是一种类型,它封装了数据和操作 B.对象是类的实例
C.一个类的对象只有一个 D.一个对象必属于某个类 9.下列有关构造函数的描述中,正确的是
A.构造函数可以带有返回值 B.构造函数的名字与类名完全相同 C.构造函数必须带有参数 D.构造函数必须定义,不能缺省 10.假定a为一个整型数组名,则元素a[4]的字节地址为
A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是
C++程序设计试卷第 1页共 12页
A.虚函数 B.静态成员函数 C. 构造函数 D.析构函数 12.下列说明语句中正确的是
A.int a,&ra=a,&&ref=ra B.int&refa[10]
C.int a,&ra=a,&*refp=&ra D.int*pi,*&pref=pi 13.关于对象概念的描述中,说法错误的是 A.对象就是C语言中的结构体
B.对象代表着正在创建的系统中的一个实体 C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的 14.有关多态性说法不正确的是
A.C++语言的多态性分为编译时的多态性和运行时的多态性 B.编译时的多态性可通过函数重载实现 C.运行时的多态性可通过模板和虚函数实现 D.实现运行时多态性的机制称为动态多态性 15.关于友元函数的描述中,错误的是 A.友元函数不是成员函数
B.友元函数只能访问类中私有成员 C.友元函数破坏隐藏性,尽量少用
D.友元函数说明在类体内,使用关键字friend 16.类中定义的成员默认访问属性为
A.public B.private C.protected D.friend 17.拷贝构造函数的参数是
A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名 18.关于类模板的说法正确的是
A.类模板的主要作用是生成抽象类
B.类模板实例化时,编译器将根据给出的模板实参生成一个类 C.在类模板中的数据成员具有同样类型 D.类模板中的成员函数没有返回值 19.下列有关重载函数的说法中正确的是
A.重载函数必须具有不同的返回值类型 B.重载函数参数个数必须相同 C.重载函数必须有不同的形参列表 D.重载函数名可以不同
20.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数 A.都是虚函数
B.只有被重新说明时才是虚函数 C.都不是虚函数
D.只有被重新说明为virtual时才是虚函数
第二部分 非选择题
二、填空题(本大题共20小题,每小题1分,共20分) 请在答题卡上作答。
21.C语言中scanf命令在C++中改用:_______。
22.假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成 员bb赋值为10的写法:_______。
C++程序设计试卷第 2页共 12页
23.在类内部定义的公有(public)数据可以在类外进行存取,但_______和私有 (private)数据不能在类外直接存取。
24.在C++中,虚函数帮助实现了类的_______。
25.如果要把类B的成员函数void fun( )说明为类A的友元函数,则应在类A中加入语句_______.
26.执行下列程序double a=3.1415926,b=3.14;cout< 30.如果通过同一个基类派生一系列的类,则将这些类总称为_______。 31. 为了实现运行时的多态性,派生类需重新定义基类中的_______。 32.在C++中有两种参数传递方式:传值和传_______。 33.C++中ostream的直接基类_______。 34.已知int*p=NULL,使用new为指针P申请一个存储大小为10的存放int型的空间,代 码为_______。 35.在编译指令中,宏定义使用_______指令。 36.每个对象都是所属类的一个_______。 37.函数重载时,编译系统会根据_______或形参的个数来区分。 38.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_______。 40.局部对象和全局对象中,在同一程序中_______生存期最长。 三、改错题(本大题共5小题,每小题4分,共20分) 请在答题卡上作答。 下面的程序段中有一处错误,请在答题卡上抄写错误所在行并指出错误原因。 C++程序设计试卷第 3页共 12页 C++程序设计试卷第 4页共 12页 四、完成程序题(本大题共5小题,每小题4分,共20分) 请在答题卡上作答。 46.用简单选择法对10个数排序,使其从小到大排列。 C++程序设计试卷第 5页共 12页 47.打印以下图案: 48.任意输入10个同学的成绩,计算其平均成绩。要求用函数average( )计算平均成绩,主函数输入数据并输出结果。 C++程序设计试卷第 6页共 12页 49.编一个函数to_ lower( ),实现将字符串中的大写字母转换成相应小写字母。主函数输 入数据并输出结果。 50.下面程序用来求直角三角形斜边长度。 C++程序设计试卷第 7页共 12页 五、程序分析题(本大题共2小题,每小题5分,共l0分) 请在答题卡上作答。 51.给如下面程序输出结果。 C++程序设计试卷第 8页共 12页 52.给出下面程序输出结果。 六、程序设计题(本大题共l小题,共l0分) 请在答题卡上作答。 53.写一个程序,定义一个抽象类Shape,由它派生3个类:Square(正方形)、Trapezoid(梯 形)和Triangle(三角形)。用虚函数分别计算几种图形面积、并求它们的和。要求用基 C++程序设计试卷第 9页共 12页 类指针数组,使它每一个元素指向一个派生类对象。 C++程序设计试卷第 10页共 12页 C++程序设计试卷第 11页共 12页 C++程序设计试卷第 12页共 12页 因篇幅问题不能全部显示,请点此查看更多更全内容