预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C++程序设计试卷(A卷) 试卷类别:闭卷考试时间:120分钟 一、单项选择题(本大题共15小题,每小题2分,共30分) 1.C++源程序文件的扩展名是:() A.CPPB.CC.DLLD.EXE 2.表示“大于10而小于20的数“,正确的是:() A.10<x<20B.x>10||x<20C.x>10&x<20D.!(x<=10||x>=20) 3.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为() A.mainB.MAINC.nameD.function 4.设x和y均为bool量,则x&&y为真的条件是() A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假 5.下面的哪个保留字不能作为函数的返回类型?() A.voidB.intC.newD.long 6.假定a为一个整型数组名,则元素a[4]的字节地址为() A.a+4B.a+8C.a+16D.a+32 7.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该 成员函数的声明语句为:() A.ABoperator+(AB&a,AB&b)B.ABoperator+(AB&a) C.operator+(ABa)D.AB&operator+() 8.下面()是对类ttt的声明。 voidclassttt;B.classintttt;C.classttt();D.classttt; 9.用于类中虚成员函数说明的关键字是() A.publicB.virtualC.protectedD.private 10.下面是关于静态成员的说法,其中不正确的是() A静态成员有类作用域,但与普通非静态成员有所不同 B静态函数没有this指针,同一个类的不同对象拥有相同的静态数据成员 C静态数据成员的初始化必须在类外进行 D静态函数同样可以访问非静态数据成员 11.下面的说法中,不正确的一句是() A.类的友元函数是类的特殊成员函数,它对所有的类成员.保护成员和私有成员享有完全访问特权。 B.一个类的友元类中的成员函数都是这个类的友元函数 C.适用于类成员函数和数据的访问控制同样适用于枚举和嵌套类 D.与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类 12.()语言是面向对象的语言。 A.CB.PascalC.FortranD.C++ 13.C++风格的源文件包含的输入输出头文件为() A.stdio.hB.stdafx.hC.iostream.hD.stream.h 14.与C语言printf(“Helloword\n”);语句功能相同的C++语句是() A.cout>>”Helloword\n”B.cin>>”Helloword\n” C.cout<<”Helloword\n”D.cin<<”Helloword\n” 15.在下面几个元素中,不是面向对象的要素的是() A.重载B.对象C.类D.继承 二、填空题(本大题共10空,每空1分,共10分) 1.变量分为全局和局部两种,变量没有赋初值时,其值是不确定的。 2.假定a是一个二维数组,则a[i][j]的指针访问方式为 3.对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的 实现。 4.面向对象编程语言的三个特征是,封装性,和。 5.类成员函数一般都可以重载,但函数除外。 6.根据面向对象的思想,通常将类中的数据成员声明为权限,而将成员函数声明为 权限。 7.类A继承类B,则A成为B的子类,B称为A的 。 三、简答题(本大题共5小题,每小题4分,共20分) 1.根据实参和形参之间数据传递方式的不同,函数调用可以分为几种方式?试简述各种调用的机制和优 缺点? 2.拷贝构造函数在哪些情况下会被自动调用? 3.什么是虚基类,为何要引入虚基类? 4.什么是抽象类,和虚函数?引入虚函数的目的是什么? 5.用户自定义类型数据的输入输出是如何实现的?它们的定义格式是怎样规定的? 四、程序填空(本大题共4小题,每小题5分,共20分) 1.分析下面的程序,补充完整程序,使之能正确运行,同时自己给定输入,并写出输出结果。 #include"iostream.h" voidmain() {intsize; cout<<"inputthenumberofelements:"<<endl; cin>>size; int*ptr=new; cout<<"input"<<size<<"elements:"; for(inti=0;i<size;i++) cin>>; for(i=0;i<size;i++) {ptr