c++复习题库

上传人:第*** 文档编号:34037631 上传时间:2018-02-20 格式:DOC 页数:33 大小:188.50KB
返回 下载 相关 举报
c++复习题库_第1页
第1页 / 共33页
c++复习题库_第2页
第2页 / 共33页
c++复习题库_第3页
第3页 / 共33页
c++复习题库_第4页
第4页 / 共33页
c++复习题库_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《c++复习题库》由会员分享,可在线阅读,更多相关《c++复习题库(33页珍藏版)》请在金锄头文库上搜索。

1、Comment w1: 短路Comment w2: Comment w3: 从右到左 xvoid main() char s=12134211,*p;int v1=0,v2=0,v3=0,v4=0; v1 v2 v3 v4for (p=s;*p;p+) 2 4 3 4switch(*p)case 1:v1+;case 3:v3+;case 2:v2+;default: v4+;coutt;24.在 if语句中的表达式是( )。A.只能是表达式 B.只能是关系表达式和逻辑表达式C.只能是逻辑表达式 D.可以是任意表达式25.在用关键字 class定义的类中,以下叙述正确的是( )。A. 在类中,

2、不作特别说明的数据成员均为私有类型B. 在类中,不作特别说明的数据成员均为公有类型C. 类成员的定义必须是成员变量定义在前,成员函数定义在后D. 类的成员定义必须放在类定义体内部参考答案:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15B C C B D C D C D B B B B C A16 17 18 19 20 21 22 23 24 25C A A D B B C C D A公共基础知识 一、选择题 ()下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征 ()结构化程序设计所规定的三种基本控制结构是A

3、)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数()结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D) 逐步求精法()如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择 B)投影 C) 连接 D)并一:选择题:Comment L10: 默认参数格式(1) D (2) C (3) D (4) BC+语言程序设计一、选择题()C+ 语言是从早期的 C语言逐渐发展演变而来的.与 C语言相比,它在求解问题方法上进行的最大改进是()A)面向过程B)面向对象C)安全性D) 复

4、用性()C+ 语言的跳转语句中,对于 break和 continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用与循环体中C)break是无条件跳转语句,continue 不是D)break和 continue的跳转范围不够明确,容易产生问题()for(int x=,y=o;!xy+)语句执行循环的次数是()A)B)C) D) 无次数()考虑函数原型 void test(int a,int b=7,char=*),下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,#) D)test(0,0.*);(5)

5、下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;()下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载()下面描述中,表达错误的是()A)公有继承时基类中的 public成员在派生类中仍是 public的B)公有继承是基类中的 private成员在派生类中仍是 private的C)公有继承时基类中的 protected成员在派生类中仍是 protected的D)私有继承时基类中的 p

6、ublic成员在派生类中是 private的()应在下列程序划线处填入的正确语句是()#includeclass Base public:void fun()coutfun();(9)有如下程序:includeclass BASEchar c;Comment w11: Comment w12: public:BASE(char n):c(n)virtualBASE()cout0 的值 。 A) 为 true B) 为 false C) 与 x 的值相同 D) 与 x 的值相反 (3) 执行语句序列 int n; cinn; switch(n) case 1: case 2: coutx; if

7、(x250) coutival=rc.ival+1; rc.ra-cval=rc.ra-ival+1; Comment w15: coutival=1 A将输出# B将输出#C是死循环 D含有不合法的控制表达式9.在函数的定义格式中,下面各组成部分中, ( )是可以省略的。A函数名 B函数体 C函数数据类型说明 D函数参数 10.在函数的引用调用时,实参和形参应该是使用( ) 。A变量值和变量 B地址值和指针 C变量值和引用 D地址值和引用11以下关于文件操作的叙述中,不正确的是( ) 。A打开文件的目的是使文件对象与磁盘文件建立联系B文件读写过程中,程序将直接与磁盘文件进行数据交换C关闭文件

8、的目的之一是保证将输出的数据写入硬盘文件D关闭文件的目的之一是释放内存中的文件对象12. 若有语句 int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则( )不是对 a数组元素的正确引用(其中 0ivoid main()char s=abcdefbcde,*p=s;int v1=0,v2=0,v3=0,v4=0; for (p;*p;p+) switch(*p)case a:v1+;break;case b:v3+;break;case e:v2+;break;default: v4+;cout和作用域运算符D. 静态数据成员不是所有对象所共有的答案:D5: 关于虚函数的描述中

9、, ( )是正确的。A. 虚函数是一个静态成员函数B. 虚函数是一个非成员函数C. 虚函数既可以在函数说明时定义,也可以在函数实现时定义D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:DComment L25: 抽象类不能创建对象,只能使用该类作为其他类的基类Comment w26: 6:下列关于动态联编的描述中,错误的是() 。A动态联编是以虚函数为基础B动态联编是运行时确定所调用的函数代码的C动态联编调用函数操作是指向对象的指针或对象引用D动态联编是在编译时确定操作函数的答案:D8:下面 4个选项中, ( )是用来声明虚函数的。Avirtual Bpublic Cus

10、ing Dfalse答案:A9: 编译时的多态性可以通过使用( )获得。A虚函数和指针 B重载函数和析构函数 C虚函数和对象 D虚函数和引用答案:A10: 关于纯虚函数和抽象类的描述中,错误的是( ) 。A纯虚函数是一种特殊的虚函数,它没有具体的实现B抽象类是指具体纯虚函数的类C一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类D抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出答案:B11: 下列描述中, ( )是抽象类的特征。A可以说明虚函数 B可以进行构造函数重载 C可以定义友元函数 D不能说明其对象答案:D12: 以下( )成员函数表示虚函数。Avirtual int vf(i

11、nt); Bvoid vf(int)=0;Cvirtual void vf()=0; Dvirtual void vf(int) ; 答案:D13: 如果一个类至少有一个纯虚函数,那么就称该类为( A ) 。A抽象类 B虚函数 C派生类 D以上都不对答案:A14: 要实现动态联编,必须通过( )调用虚函数。A对象指针 B成员名限定 C对象名 D派生类名 答案:A15: 下面描述中,正确的是( ) 。Avirtual 可以用来声明虚函数B含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类C即使基类的构造函数没有参数,派生类也必须建立构造函数D静态数据成员可以通过成员初始化列表来初始化答案:A

12、16: 已知 int a, *pa=输出指针 pa十进制的地址值的方法是( ) 。Acoutvoid main( ) int a33=1,2,3,4,5;int sum=0;for (int I=1;I#include”string.h”void main( ) char a=”welcome”,b=”well”;strcpy(a,b);cout#includevoid main( ) char st20=”hello0t”;couts2, return positive;s1#include main( )char *s1=AbCdEf, *s2=aB;s1+; s2+;printf(%dn

13、,strcmp(s1,s2) );上面程序的输出结果是_。A)正数 B)负数 C)零 D)不确定的值答案 A知识点:字符串比较函数 strcmp( )的应用评析:strcmp(X1,X2)是串比较函数,当 X1X2 时返回值为正数,当 X1s2,返回值为正数。(9)请读程序:#include func(int a, int b)int c;c=a+b;return c;main( ) int x=6,y=7,z=8,r;r=func(x ,y+,x+y),z );printf(%dn, r);上面程序的输出结果是_。A)11 B)20 C)21 D)31答案 C知识点:自增、自减运算评析:函数

14、 func( )的作用是返回两个形参的和,第一个形参是 x、y 分别自减和自增后的和,其中(x-,y+,x+y) 是一个逗号表达式,它的值应该等于 x+y,所以整个表达式(x ,y+,x+y)的值为 13,而第二个形参的值为 8(根据语法规则,应当先使用,后自增) ,所以 func( )的返回值为 13+8=21。(10)请读程序:#include main( )int a, b ;for(a = 1 , b = 1 ; a = 20) break ;if (b%3 = 1) b += 3 ; continue ; b = 5 ;printf(%dn, a) ;上面程序的输出结果是_。A)7 B)8 C)9 D)10答案 B知识点:break 语句和 continue 语句评析:b

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号