C++考试题库及答案精简.docx
《C++考试题库及答案精简.docx》由会员分享,可在线阅读,更多相关《C++考试题库及答案精简.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+期末考试题库一、单选题:1. 能作为 C+程序的基本单位是( C )。A. 字符B. 语句C. 函数D. 源程序文件2. 程序中主函数的名字为( A )。】A. mainB. MAINC. MainD. 任意标识符3. 关于 C+与 C 语言的关系的描述中,(D)是错误的。A. C 语言是 C+的一个子集;B. C 语言与 C+是兼容的;C. C+对 C 语言进行了一些改进;D. C+和 C 语言都是面向对象的4. 可用作 C+语言用户标识符的一组标识符是( B)。A. voiddefine+WORDB. a3_b3_123YNC. for-abcCaseD. 2aDOsizeof5. 存
2、储以下数据,占用存储字节最多的是( D)。%A. 0B. 0C. “0”D.6. 设 inta=12;则执行完语句 a+=a*a;后,a 的值是( C )。A. 12B. 144C. 156D. 2887. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于 1,则下列能正确表示代数式1abc 的表达式是( D )。A. a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. a/b/c8. 以下说法中正确的是(B)。A. C+程序总是从第一个定义的函数开始执行B. C+程序总是从 main 函数开始执行C. C+函数必须有返回值,否则不能使用函数D. C+程序中有调用
3、关系的所有函数必须放在同一个程序文件中9. 下面有关构造函数的描述中,正确的是(B )。A. 构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数D. 构造函数必须定义,不能缺省.在声明类时,下面的说法正确的是()。A. 可以在类的声明中给数据成员赋初值B. 数据成员的数据类型可以是registerC. private,public,protected 可以按任意顺序出现D. 没有用 private,public,protected 定义的数据成员是公有成员11.在下面有关析构函数特征的描述中,正确的是( A )。A. 一个类可以有多个析构函数B. 析构函数与类名
4、完全相同C. 析构函数不能指定返回类型D. 析构函数可以有一个或多个参数12. 构造函数是在(B )时被执行的。A. 程序编译B. 创建对象C. 创建类D. 程序装入内存13. 下面有关静态成员函数的描述中,正确的是(B)!A. 在静态成员函数中可以使用 this 指针B. 在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义是,要用static 前缀D. 静态成员函数只能在类外定义14. 下面有关友员函数的描述中,真确的说法是(A)A. 友员函数是独立于当前类的外部函数B. 一个友员函数不可以同时定义为两个类的友员函数C. 友员函数必须在类的外部进行定义;D. 在类的外部定义友
5、员函数时必须加上friend 关键字15. 友员的作用之一是( A)A. 提高程序的运行效率B. 加强类的封装C. 实现数据的隐蔽性D. 增加成员函数的种类16. 使用派生类的主要原因是(A)A. 提高代码的可重用性B. 提高程序的运行效率C. 加强类的封装性D. 实现数据的隐藏17. 在 C+中继承方式有几中(C)A. 1B. 2C. 3D. 418. 假设已经定义好了类 student,现在要定义类 derived,它是从 student 私有派生的,则定义类 derived 的正确写法是(D)A. class derived : student privateB. class deriv
6、ed : student public C. class derived : public student D. class derived : private student19. 派生类的对象对它的基类成员中(C)是可以访问的。A.公有继承的公有成员;B.公有继承的私有成员;:C.公有继承的保护成员;D.私有继承的公有成员。20. 类中定义的成员默认为(A )访问属性。A. publicB. privateC. protectedD. friend21. 下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A )合适。A. 内联函数;B. 重载函数;C.
7、递归调用;D. 嵌套调用。+对 C 语言作了很多改进,下列描述中(D)使得 C 语言发生了质变,从面向过程变成了面向对象。A. 增加了一些新的运算符;B. 允许函数重载,并允许设置缺省参数;C. 规定函数说明必须用原型;D. 引进了类和对象的概念;23. 按照标识符的要求,(A)符号不能组成标识符。A. 连接符B. 下划线C.大小写字母D. 数字字符24. 下列变量名中,( A )是合法的。ACHINABbyte-sizeCdoubleDA+a 25.下列各种函数中,(C)不是类的成员函数。A构造函数B析构函数C友元函数D拷贝构造函数26. 下列( A)是正确的语句。A;Ba=17Cx+yDc
8、out0);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)005B)nC) cD)a62、表示“x 大于 1 而小于 10”的逻辑表达式是(B )。A)1x1&x10C) !(x=10)D)x1|x10 63、关于成员函数特征的下列描述中,(
9、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 n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是(D)。 A) p=1;B) *q=2;C) q=p;D) *p=5;66、( A)能正确输出结果:
10、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)5B)6C) 8D) 9 68、有以下程序#include void main( ) char *p10=abc,aabdfg,dcdbe,abbd,cd; coutp3endl;执行后输出结果是BA)dcdbeB) abbdC) abcD) abb 69、下列
11、静态数据成员的特性中,(C)是错误的。A) 说明静态数据成员时前边要加修饰符static B) 静态数据成员要在类体外进行初始化C) 静态数据成员不是所有对象所共用的D)引用静态数据成员时,要在其名称前加和作用域运算符70、有以下语句-struct S int g; char h; T;则下面叙述中不正确的是(C )。A)S 是结构体名B)该结构体包含 2 个成员C)S 是 struct 类型的变量D)T 是 struct S 类型的变量71、派生类的对象对它的基类成员中(A)是可以访问的。A)公有继承的公有成员】B)公有继承的私有成员C)公有继承的保护成员D) 私有继承的公有成员72、实现运
12、行时的多态性用 。DA、重载函数 B、构造函数 C、析构函数 D、虚函数73下列变量名中,( A)是合法的。A. CHINAB. byte-sizeC. doubleD. A+a74. 在 int b3=1,3,2,4,5,6,0;b22的值是(D )。;A. 0B. 2C. 5D. 675. 下列各运算符中,(B)优先级最高。A. +(双目)B. *(单目)C.=D.*=76. 下列 for 循环的次数为( B )。for(int i(0),x=0;!x&i=5;i+)A. 5B.6C .1D. 无限77. 下述关于 break 语句的描述中,( C )是正确的。A. break 语句可用于
13、循环体内,它将退出该重循环。%B. break 语句可用于开关语句中,它将退出开关语句。C. break 语句可用于 if 体内,它将退出 if 语句。D. break 语句在一个循环体内可以出现多次。78. 在一个被调用函数中,关于 return 语句使用的描述,(D)是错误的。A. 被调用函数中可以不用 return 语句。B. 被调用函数中可以使用多个 return 语句。C. 被调用函数中,如果有返回值,就一定要有return 语句。D. 被调用函数中,一个 return 语句可返回多个值给调用函数。79. 在 C+中,关于下列设置参数默认的描述中,( C )是正确的。A. 不允许设置
14、参数的默认值。B. 设置参数默认值只能在定义函数时设置。C. 设置参数默认值时,应该是先设置右边的再设置左边的。D. 设置参数默认值时,应该全部参数都设置。80. 下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A )合适。A. 内联函数B. 重载函数C. 递归调用D. 嵌套调用81. 下列的各类函数中,( C )不是类的成员函数。.A. 构造函数B. 析构函数C . 友元函数D. 拷贝初始化构造函数82. (D)不是构造函数的特征A. 构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置缺省参数D.构造函数必须指定类型说明83. f1(i
15、nt)是类 A 的公有成员函数,p 是指向成员函数 f1()的指针,采用( C)是正确的。A.p=f1B.p=A:f1C.p=A:f1()D.p=f1()84. 下列定义中,(A )是定义指向数组的指针p。A.int *p5B. int (*p)5C.(int *)p5D. int *p )85循环 while(int i=0) i-;执行次数是(A. 0B. 1C .5A)。D .无限86.设 int x;,则经过(C)后,语句*px=0;可将 x 值置为 0。A.int * px;B .int const * px=&x;C.int * const px=&x;D.const int *
16、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. 对象之间的信息传递是通过消息进行的;89. 在下列 double 型常量表示中,(A)是错误的。A.E15;B.35;C.3E5;D. 3E-590. 下列给字符数组进行初始化中,(A)是正确的。!A.
17、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 个元素的指针数组,每个元素是一个int 型指针;92. 下列各运算符中,( A )优先级最低。A:B.|C.|D. !=93. 下列 for 循环的循环体执行次数为(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 考试 题库 答案 精简
限制150内