收藏 分享(赏)

大学C++期末考试题库.doc

上传人:精品资料 文档编号:10532987 上传时间:2019-11-26 格式:DOC 页数:43 大小:237.50KB
下载 相关 举报
大学C++期末考试题库.doc_第1页
第1页 / 共43页
大学C++期末考试题库.doc_第2页
第2页 / 共43页
大学C++期末考试题库.doc_第3页
第3页 / 共43页
大学C++期末考试题库.doc_第4页
第4页 / 共43页
大学C++期末考试题库.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、第 1 页 共 43 页2011 年大学 C+期末考试题库一、单选题:1. 能作为 C+程序的基本单位是( )。A. 字符 B. 语句 C. 函数 D. 源程序文件2. 程序中主函数的名字为( ) 。A. main B. MAIN C. Main D. 任意标识符3. 关于 C+与 C 语言的关系的描述中, ( )是错误的。A. C 语言是 C+的一个子集; B. C 语言与 C+是兼容的;C. C+对 C 语言进行了一些改进; D. C+和 C 语言都是面向对象的4. 可用作 C+语言用户标识符的一组标识符是( )。A. void define +WORD B. a3_b3 _123 YNC

2、. for -abc Case D. 2a DO sizeof5. 存储以下数据,占用存储字节最多的是( ) 。A. 0 B. 0 C. “0” D. 0.06. 设 int a=12;则执行完语句 a+=a*a;后,a 的值是( )。A. 12 B. 144 C. 156 D. 2887. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于 1,则下列能正确表示代数式 的表达式是( )。abc1A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c8. 以下说法中正确的是( ) 。 A. C+程序总是从第一个定义的函数开始执行B

3、. C+程序总是从 main 函数开始执行C. C+函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一个程序文件中9. 下面有关构造函数的描述中,正确的是( ) 。A. 构造函数可以带有返回值 B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数 D. 构造函数必须定义,不能缺省10.在声明类时,下面的说法正确的是( ) 。A. 可以在类的声明中给数据成员赋初值B. 数据成员的数据类型可以是 registerC. private,public,protected 可以按任意顺序出现D. 没有用 private,public,protected 定义的数据

4、成员是公有成员11.在下面有关析构函数特征的描述中,正确的是( ) 。A. 一个类可以有多个析构函数 B. 析构函数与类名完全相同C. 析构函数不能指定返回类型 D. 析构函数可以有一个或多个参数12.构造函数是在( )时被执行的。A. 程序编译 B. 创建对象 C. 创建类 D. 程序装入内存13. 下面有关静态成员函数的描述中,正确的是( )A. 在静态成员函数中可以使用 this 指针B. 在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义是,要用 static 前缀C+程序设计试卷第 2 页 共 43 页D. 静态成员函数只能在类外定义14.下面有关友员函数的描述中,真

5、确的说法是( )A. 友员函数是独立于当前类的外部函数B. 一个友员函数不可以同时定义为两个类的友员函数C. 友员函数必须在类的外部进行定义D. 在类的外部定义友员函数时必须加上 friend 关键字15.友员的作用之一是( )A. 提高程序的运行效率 B. 加强类的封装C. 实现数据的隐蔽性 D. 增加成员函数的种类16.使用派生类的主要原因是( )A. 提高代码的可重用性 B. 提高程序的运行效率C. 加强类的封装性 D. 实现数据的隐藏17.在 C+中继承方式有几中( )A. 1 B. 2 C. 3 D. 418.假设已经定义好了类 student,现在要定义类 derived,它是从

6、student 私有派生的,则定义类 derived 的正确写法是( )A. class derived :student private /.B. class derived :student public /.C. class derived :public student /.D. class derived :private student /.19.派生类的对象对它的基类成员中( )是可以访问的。A.公有继承的公有成员; B.公有继承的私有成员;C.公有继承的保护成员; D.私有继承的公有成员。20. 类中定义的成员默认为( )访问属性。A. public B. private C.

7、 protected D. friend21.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )合适。A. 内联函数; B. 重载函数; C. 递归调用; D. 嵌套调用。22.C+对 C 语言作了很多改进,下列描述中( )使得 C 语言发生了质变,从面向过程变成了面向对象。A. 增加了一些新的运算符; B. 允许函数重载,并允许设置缺省参数;C. 规定函数说明必须用原型; D. 引进了类和对象的概念;23.按照标识符的要求, ( )符号不能组成标识符。A. 连接符 B. 下划线 C.大小写字母 D. 数字字符24.下列变量名中, ( )是合法的。A C

8、HINA B byte-size C double D A+a25.下列各种函数中, ( )不是类的成员函数。A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数26.下列( )是正确的语句。A ; B a=17 C x+y D cout0); D) ;59、 ( )不是构造函数的特征。A)构造函数的函数名与类名相同 B)构造函数可以重载C)构造函数可以设置缺省参数 D)构造函数必须指定类型说明60、以下程序段中与语句 k=ab? 1:0;功能等价的是( ) 。A) if(ab) k=1; B) if(ab) k=0C)if(ab) k=1; D)if(a1for(i=1;ivoid m

9、ain( ) char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“;cout和作用域运算符70、有以下语句struct S int g; char h; T;则下面叙述中不正确的是( ) 。A)S 是结构体名 B)该结构体包含 2 个成员C)S 是 struct 类型的变量 D)T 是 struct S 类型的变量71、派生类的对象对它的基类成员中( )是可以访问的。A)公有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员D)私有继承的公有成员72、实现运行时的多态性用 。A、重载函数 B、构造函数 C、析构函数 D、虚函数73下列变量名中, (

10、)是合法的。A. CHINA B. byte-size C. double D. A+a74. 在 int b3=1,3,2,4,5,6,0;b22的值是( ) 。A. 0 B. 2 C. 5 D. 675. 下列各运算符中, ()优先级最高。A. +(双目) B. *(单目) C. 和作用域运算符;D. 静态数据成员不是所有对象所共用的。97. ( )是析构函数的特征。A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。;98. 已知:p 是一个指向类 A 数据成员 m 的指针,A1 是类 A 的一个对象。如

11、果要给 m 赋值为 5, ( )是正确的。A. A1.p=5; B. A1-p=5;C. A.*p=5; D. *A1.p=5;99. 关于 new 运算符的下列描述中,( )是错的。A. 它可以用来动态创建对象和对象数组;B. 使用它创建的对象或对象数组可以使用运算符 delete 删除;C. 使用它创建对象时要调用构造函数;D. 使用它创建对象数组时必须指定初始值。 100. 派生类的构造函数的成员初始化列中,不能包含( ) 。A. 基类的构造函数;B. 派生类中子对象的初始化;C. 基类的子对象初始化;D. 派生类中一般数据成员的初始化101. 派生类的对象对它的基类成员中( )是可以访

12、问的。A. 公有继承的公有成员;B. 公有继承的私有成员;C. 公有继承的保护成员;D. 私有继承的公有成员。102C+类体系中,不能被派生类继承的有( ) 。A.构造函数 B.虚函数 C.静态成员函数 D.赋值操作函数103下面标识符中正确的是( ) 。A_abc B3ab C int D+ab104下列哪项( )不是面向对象程序设计的主要特征?a.封装 b.继承 c.多态 d.结构105已知 i=5,j=0,下列各式中运算结果为 j=6 的表达式是( ) 。Aj=i+(+j) Bj=j+i+ Cj=+i+j Dj=j+i106若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件

13、表达式 aa+if_ u=x;else u=y;if_ v=u;C+程序设计试卷第 14 页 共 43 页else v=z;cout。 ( )40. 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 ( )41. 对象数组的元素可以是不同类的对象。 ( )42. const char *p 说明了 p 是指向字符串的常量指针。 ( )43、 引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。 ( )44、 无论是私有继承还是保护继承中,基类中所有成员对派生类对象都是不可见的。 ( )45、 当 break 语句用在双重循环的内循环中时,它只能退出内循环到外循环中

14、去,而不能直接退出整个双重循环。 ( )46、 For 循环是只有可以确定的循环次数时才可使用,否则不能用 for 循环。 ( )47、 返回值类型、参数个数和参数类型都相同的函数也可以重载。 ( )48、 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。 ( )49、 友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。 ( )50、 已知:类 A 中一个成员函数说明如下:void Set(A中,b 的值的*P 的是不相等的。 ( )54、已知:int a(5),b(10); 表达式+a+b+有二义性。 ( )55、在不同类型操作数组成的表达式中,其表达式的类型一定是最高

15、类型 double 型。 ( )56、break 语句也可以用于 if 体内,它可退出 if 语句。 ( )57、在一个被调用函数中,一个 return 语句可返回多个值给调用函数。 ( )58、在传值调用中,要求实参和形参的类型完全一致并且个数相等。 ( )59、for 循环中,循环变量的作用域是该循环的循环体内。 ( )60、所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。 ( )61、const char *p 说明了 p 是指向字符串的常量指针。 ( )62、私有继承中,基类中所有成员对派生类的对象都是不可见的。 ( )四、指出函数或程

16、序的功能。1、 template void AC(Type x=y ;y=a ; 2、int AB(int *a , int n)int x=a0;for (int i=1; ivoid main( )C+程序设计试卷第 18 页 共 43 页 float t;int n=10; coutint a=2,4,6,8,10;int void main()int i;index(3)=12;for (i=0;ivoid f(int *m,int n)int temp;temp=*m;*m=n;n=temp;void main()int a=5,b=10;f(coutint i=15;void ma

17、in()int i;i=100;i=i+1;coutclass toypublic:toy(int q, int p)quan = q;price = p;int get_quan() return quan;int get_price() return price;C+程序设计试卷第 19 页 共 43 页private:int quan, price; ;main()toy op32=toy(10,20),toy(30,48),toy(50,68),toy(70,80),toy(90,16),toy(11,120),;int i;for (i=0;iclass examplepublic:

18、example(int n)i=n;coutclass Testprivate:int x;C+程序设计试卷第 20 页 共 43 页public:Test()coutclass Apublic:A(int *s) coutclass Basepublic:virtual void disp() coutdisp();p=p-disp();p=p-disp();9、#include class Sampleprivate:int x;static int y;public:C+程序设计试卷第 22 页 共 43 页Sample(int a);void print();Sample: Sampl

19、e(int a)x=a;y +;void Sample:print()coutclass Sampleprivate:int x;public:Sample () Sample(int a) x=a;void disp() coutclass TestC+程序设计试卷第 23 页 共 43 页private:int x;public:Test()coutclass Aprotected:int x;public:A(int x)A:x=x;coutclass Pointprivate:int x;int y;public:Point (int a,int b)x=a;y=b;virtual i

20、nt area() return 0;class Rectangle:public Pointprivate:int length;int width;public:Rectangle(int a,int b,int l,int w): Point(a,b)C+程序设计试卷第 25 页 共 43 页length=l;width=w;virtual int area() return length*width;void disp(Point static int y;public:Sample(int a);void print();Sample: Sample(int a)x=a;y=x+;v

21、oid Sample:print()coutclass SampleC+程序设计试卷第 26 页 共 43 页private:int x;public:Sample()Sample (int a)x=a;void disp() coutclass A int a , b ;public :A( ) a=b=0; A( int aa , int bb ) : a(aa),b(bb) cout int AD(int a , int n) int x=1;for (int i=0; iclass Rpublic:R(int r1,int r2) R1=r1;R2=r2;void print();vo

22、id print() const;private:int R1,R2;void R:print()coutclass Apublic:virtual void act1();void act2() act1();void A:act1()coutvoid fun(int,int,int * );void main()int x,y,z;fun (2,3,switch(x%2)case 1: switch (y) case 0:coutint a8=1,2,3,4,5,6,7;void fun(int b ,int n);C+程序设计试卷第 29 页 共 43 页void main( ) int

23、 m=8; fun(a,m); coutclass AA public:AA(int i,int j)A=i;B=j;coutprint();delete pa;23、#includevoid main()int i(0);while(+i)if(i= =10) break;if(i%3!=1) continue;coutint a8=1,2,3,4,5,6,7;void fun(int *pa,int n);void main( ) int m=8; fun(a,m); coutvoid ff(int x),ff(double x);void main() float a(88.18);ff(a);char b(a);ff(b); void ff(int x) coutclass AA public:AA(int i,int j)A=i;B=j;cout“Constructorn“;AA(AA B=obj.B+2;cout“Copy_Constructorn“;AA()cout“Destructorn“;void print()cout“A=“A“,B=“Bendl; private:int A,B;void main() AA a1(2,3);AA a2(a1);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报