收藏 分销(赏)

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

上传人:二*** 文档编号:4517884 上传时间:2024-09-26 格式:DOC 页数:68 大小:178KB
下载 相关 举报
大学C++期末考试题库及答案.doc_第1页
第1页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

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

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

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

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

6、. class derived :student private /. B. class derived :student public /. C. class derived :public student /. D. class derived :private student /.19.派生类的对象对它的基类成员中(C)是可以访问的。A.公有继承的公有成员; B.公有继承的私有成员;C.公有继承的保护成员; D.私有继承的公有成员。20. 类中定义的成员默认为(A )访问属性。A. public B. private C. protected D. friend21.下列存储类标识符中,

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

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

9、 B)n C) c D)a62、表示“x大于1而小于10”的逻辑表达式是(B )。A)1x1&x10 C) !(x=10) D)x1|x1063、关于成员函数特征的下列描述中,(A)是错误的。A)成员函数一定是内联函数 B)成员函数可以重载C)成员函数可以设置缺省参数值 D)成员函数可以是静态的64、有以下程序#include void main( ) int i,s=0;for(i=1;i10;i+=2) s+=i;couts;程序执行后的输出结果是(C )。A) 自然数19的累加和 B) 自然数110的累加和C) 自然数19中的奇数之和 D) 自然数110中的偶数之和65、设有定义:int

10、 n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是(D)。A) p=1; B) *q=2; C) q=p; D) *p=5;66、( A)能正确输出结果:C+。 A) char s=C+;coutsendl; B)char s3=C+;coutsendl; C)char s3=C,+,+,0;coutsendl; D)char s3=C,+,+;coutsendl;67、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=a,b;b=p5;b中的值是( B)。A)5 B)6 C) 8 D) 968、有以下程序#include void main( ) ch

11、ar *p10=abc,aabdfg,dcdbe,abbd,cd;coutp3endl;执行后输出结果是 BA)dcdbe B) abbd C) abc D) abb69、下列静态数据成员的特性中,(C)是错误的。A) 说明静态数据成员时前边要加修饰符staticB) 静态数据成员要在类体外进行初始化C) 静态数据成员不是所有对象所共用的D)引用静态数据成员时,要在其名称前加和作用域运算符70、有以下语句struct S int g; char h; T;则下面叙述中不正确的是(C )。A)S是结构体名 B)该结构体包含2个成员C)S是struct类型的变量 D)T是struct S类型的变量

12、71、派生类的对象对它的基类成员中(A)是可以访问的。A)公有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员D)私有继承的公有成员72、实现运行时的多态性用 。DA、重载函数 B、构造函数 C、析构函数 D、虚函数73下列变量名中,( A )是合法的。 A. CHINA B. byte-size C. double D. A+a74. 在int b3=1,3,2,4,5,6,0;b22的值是(D )。 A. 0 B. 2 C. 5 D. 675. 下列各运算符中,(B)优先级最高。A. +(双目) B. *(单目) C. = D. *=76. 下列for循环的次数为( B )。fo

13、r(int i(0),x=0;!x&i=5;i+)A. 5 B. 6 C . 1 D. 无限77. 下述关于break语句的描述中,( C )是正确的。A.break语句可用于循环体内,它将退出该重循环。B.break语句可用于开关语句中,它将退出开关语句。C.break语句可用于if体内,它将退出if语句。D.break语句在一个循环体内可以出现多次。78. 在一个被调用函数中,关于return语句使用的描述,(D )是错误的。A.被调用函数中可以不用 return语句。B.被调用函数中可以使用多个return语句。C.被调用函数中,如果有返回值,就一定要有return语句。D.被调用函数中

14、,一个return语句可返回多个值给调用函数。79. 在C+中,关于下列设置参数默认的描述中,( C )是正确的。A.不允许设置参数的默认值。B.设置参数默认值只能在定义函数时设置。C.设置参数默认值时,应该是先设置右边的再设置左边的。D.设置参数默认值时,应该全部参数都设置。80. 下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A )合适。A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 81. 下列的各类函数中,( C )不是类的成员函数。A. 构造函数 B. 析构函数 C . 友元函数 D. 拷贝初始化构造函数 82.( D)不是构

15、造函数的特征A.构造函数的函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置缺省参数 D.构造函数必须指定类型说明 83.f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( C)是正确的。A.p=f1 B. p=A:f1 C. p=A:f1() D. p=f1() 84.下列定义中,(A )是定义指向数组的指针p。A.int *p5 B.int (*p)5 C.(int *)p5 D.int *p 85循环while(int i=0) i-;执行次数是( A )。A. 0 B. 1 C . 5 D . 无限86.设int x;,则经过( C )后,语句*px=

16、0;可将x值置为0。A. int * px; B . int const * px=&x; C. int * const px=&x; D. const int * px=&x;87.设void f1(int * m,long & n);int a;long b;则以下调用合法的是( B )。A. f1(a,b); B. f1(&a,b); C. f1(a,&b); D. f1(&a,&b)88. 关于对象概念的描述中,( A )是错误的。A. 对象就是C语言中的结构变量;B. 对象代表着正在创建的系统中的一个实体;C. 对象是一个状态和操作(或方法)的封装体;D. 对象之间的信息传递是通过消

17、息进行的;89. 在下列double型常量表示中,(A )是错误的。A. E15; B. .35; C. 3E5; D. 3E-590. 下列给字符数组进行初始化中,(A )是正确的。A. char s1 =12345abcd; B. char s23=xyz; C. char s33=a,x,y; D. char s423=xyz,mnp;91. 对于int *pa5;的描述,( D )是正确的。A.pa是一个指向数组的指针,所指向的数组是5个int型元素;B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;C.pa5表示某个数组的第5个元素的值;D.pa是一个具有5个元素的

18、指针数组,每个元素是一个int型指针;92. 下列各运算符中,( A )优先级最低。A?: B. | C. | D. !=93. 下列for循环的循环体执行次数为( D )。for(int i(0),j(10);i=j=4;i+,j- -) A. 0; B. 1; C. 4; D. 无限;94. 下述关于开关语句的描述中,( A )是正确的。A.开关语句中default子句可以没有,也可以有一个;B.开关语句中每个语句序列中必须有break语句;C.开关语句中default子句只能放在最后;D.开关语句中case子句后面的表达式可以是整形表达式。95. 下列存储类标识符中,( C )的可见性与

19、存在性不一值。A. 外部类; B. 自动类; C. 内部静态类; D. 寄存器类。96. 下述静态数据成员的特征中,( D)是错误的。A.说明静态数据成员时前边要加修饰符static;B.静态数据成员要在类体外进行初始化;C.引用静态数据成员时,要在静态数据成员名前加和作用域运算符;D.静态数据成员不是所有对象所共用的。97. ( A)是析构函数的特征。A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。;98.已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,( C )是正确的

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

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

22、C )。 A语句for(i=0;i+)表示无限循环 Bfor(;)表示无限循环Cfor()也表示无限循环 Dwhile(1)表示无限循环108有如下程序:int x=3;doX-=2;coutx; while(!(-x);执行这个程序的输出结果是( C )。A 1 B30 C1-2 D死循环109若有以下定义,则说法错误的是( D)。 int a=100,*p=&a ;A声明变量p,其中*表示p是一个指针变量B变量p经初始化,获得变量a的地址C变量p只可以指向一个整形变量D变量p的值为100110下面关于数组的初始化正确的是( A )。Achar stra,b,cBchar str2a,b,c

23、Cchar str23a,b,e,d,e,fDchar stra,b,c111若已定义: int a=0,1,2,3,4,5,6,7,8,9,*P=a,i; 其中0i9,则对a数组元素不正确的引用是( D )。 Aap-a B*(&ai) Cpi Da10112存在定义int a10,x,*pa;,若pa=&a0,下列的哪个选项和其他3个选项不是等价的? ( A )。 A x*pa; Bx*(a+l); Cx*(pa+1); Dxa1;113对数组名作函数的参数,下面描述正确的是(B)。A数组名作函数的参数,调用时将实参数组复制给形参数组。B数组名作函数的参数,主调函数和被调函数共用一段存储单

24、元。C数组名作参数时,形参定义的数组长度不能省略。D数组名作参数,不能改变主调函数中的数据。114关于静态成员的描述中,( B )是错误的。A 静态成员可分为静态数据成员和静态成员函数。B 静态数据成员定义后必须在类体内进行初始化。C 静态数据成员初始化不使用其构造函数。D 静态数据成员函数中不能直接引用非静态成员。115下列关于构造函数的描述中,错误的是( D )。 A构造函数可以设置默认的参数 B构造函数在定义类对象的自动执行 C构造函数可以是内联函数 D构造函数不可以重载116假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为( C )。A.OneClass(OneCl

25、ass p); B. OneClass& (OneClass p);C. OneClass(OneClass & p); D. OneClass (OneClass *p);117如果类A被说明成类B的友元,则( D )。A.类A的成员即类B的成员。 B.类B的成员即类A的成员。C.类A的成员函数不得访问类B的成员 。 D.类B不一定是类A的友元。118、关于对象和类的关系,说法正确的是( C )。A) 同属于一类的对象,具有相同的数据成员和成员函数。B) 对象是具体,是类的对象,同其他变量一样,先定义后使用。C) 同一类的不同对象,其具有的操作可不同,具体的操作也不同。D) 不同类的对象,可

26、有相同的操作。119、双精度浮点型的字节数是( D )。A)4 B)1 C)0 D)8120、下列关于C+函数的说明中正确的是( D )。 A) 内联函数就是定义在另一函数体内部的函数。 B) 函数体的最后一条语句必须是RETURN语句。 C) 标准C+要求在调用一个函数之前,必须先声明其原型。 D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。121、下列关于虚函数的说明中,正确的是( B )。 A) 从虚基类继承的函数都是虚函数。 B) 虚函数不得是静态成员函数。 C) 只能通过指针和引用调用虚函数。 D) 抽象类中的成员函数都是虚函数。122、下列符号中可以用作C+标识

27、符的是( A )。 A)_radius B) foobar C) else D) 3room123、结构化程序设计所规定的三种基本控制结构是( C )。 A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数124、下列语句中错误的是( B )。 A)const int buffer=256; B) const int int temp; C) const double *point; D) const double *rt=new double(5.5)125、下列关于实参和形参说法错误的是( D )。 A)实参可以是变量、常量、或表达式。B)实参与形参的类型

28、必须一致,否则会发生“类型不匹配”的错误。C)实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。D)形参必须是变量。126、关于内联函数说法错误的是( C )。A)不是任何一个函数都可定义成内联函数。B)内联函数的函数体内不能含有复杂的结构控制语句。C)递归函数可以被用来作为内联函数。D)内联函数一般适合于只有15行语句的小函数。127、关于保护继承的说法正确的是( D )。A)基类的公有成员、私有成员可被子类继承下来,而且性质不变。 B)基类的公有成员、私有成员可被子类继承下来,而且性质改变为保护成员。 C)基类的公有成员、私有成员可被子类继承下来,而且性质均改变为私有成员。 D)

29、基类的公有成员、私有成员可被子类继承下来,性质不变,私有成员不被继承。128、关于函数的返回值说法正确的是( A )。A)由return语句返回时,只带回一值,其类型在函数定义时确定。B)其类型由调用表达式决定。 C)函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了。D)函数调用就要有返回值,否则调用就没意义了。129、下列合法的标识符是(D )。A) abde+ B)#KSJF C)67KDJ D)DK3-130、关于结构化程序设计方法说法错误的是( D )。 A)在数据处理过程中,采用的是自顶向下、分而治之的方法。B)将整个程序按功能划分为几个可独立编程的子过程模块。C)以“对象”或“数据”为中心。D)数据和处理数据的过程代码是分离的、相互独立的实体。131、运算符重载是对已有的运算符赋予多重含义,因此( C )。A)可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义。B)可以改变一个已有运算符的优先级和操作数个数。C)只能重载C+中已经有的运算符,不能定义新运算符。D)C+中已经有的所有运算符都可以重载。1

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服