最新C++复习题库+C++试题库.doc

上传人:1595****071 文档编号:34714649 上传时间:2022-08-18 格式:DOC 页数:350 大小:428.50KB
返回 下载 相关 举报
最新C++复习题库+C++试题库.doc_第1页
第1页 / 共350页
最新C++复习题库+C++试题库.doc_第2页
第2页 / 共350页
点击查看更多>>
资源描述

《最新C++复习题库+C++试题库.doc》由会员分享,可在线阅读,更多相关《最新C++复习题库+C++试题库.doc(350页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+复习题库+C+试题库C+习题C+习题1下列字符列中,可作为C+语言程序自定义标识符是( )。 A.switch B.file C.break D.do 2 运算符 +、=、=、% 中,优先级最低的运算符是( )。 A. + B.= C.= D.% 3 设变量m,n,a,b,c,d均为0,执行(m = a=b)|(n=c=d)后,m,n的值是短路( )。 A.0,0

2、 B. 0,1 C. 1,0 D. 1,14. 字符串”vmx43np102qu”的长度是( )。A. 8 B. 9 C. 16 D. 17 5.设有代码“int a = 6;”,则执行了语句“a + = a - = a*a;”后,变量a的值是( )。A.0 B. -24 C. -40 D. 606. void main() int x=-1;do x=x*x;while(!x);下列说法正确的是( )。A是死循环 B循环执行两次C循环执行一次 D有语法错误7.下面有关for循环的正确描述是( )。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for

3、循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用大括号括起来8.下面程序段( 从右到左x=2为真1时)。x=3;do y=x-; if(!y) cout”x”; continue;cout”#”;while(1=x=2);(1=x) = 1,0 bool 型A将输出# B将输出#*C是死循环 D含有不合法的控制表达式9.以下正确的说法是( )。A用户若需要调用标准函数,调用前必须重新定义B用户可以直接调用所有标准库函数 C用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数D用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调

4、用系统库函数10.在参数传递过程中,对形参和实参的要求是()。A函数定义时,形参一直占用存储空间B实参可以是常量、变量或表达式C形参可以是常量、变量或表达式D形参和实参类型和个数都可以不同11对数组名作函数的参数,下面描述正确的是()。A数组名作函数的参数,调用时将实参数组复制给形参数组B数组名作函数的参数,主调函数和被调函数共用一段存储单元C数组名作参数时,形参定义的数组长度不能省略D数组名作参数,不能改变主调函数中的数据12. 若有语句int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则( )不是对a数组元素的正确引用(其中0i10)。ApiB*(*(a+i)Cap-aD*

5、(&ai)13. 以下程序的输出结果是( )。#include void 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+;coutv1,v2,v3,v4endl;A4,2,1,1 B4,7,5,8 C7,3,2,1D8,8,8,814. 下列声明结构体变量错误的是( )。Astruct student B struct student int no; int no

6、;char name16; char name16; st1,st2; ;struct student st1,st2;Cstruct student D struct student int no; int no;char name16; char name16; ; ; struct st1,st2; student st1,st2;15. 对类的构造函数和析构函数描述正确的是( )。A构造函数可以重载,析构函数不能重载B构造函数不能重载,析构函数可以重载C构造函数可以重载,析构函数也可以重载D构造函数不能重载,析构函数也不能重载16. 下面对于友元函数描述正确的是( )。A友元函数的实现

7、必须在类的内部定义 B友元函数是类的成员C友元函数破坏了类的封装性和隐藏性 D友元函数不能访问类的私有成员17. 派生类的对象对它的基类成员中( )是可以访问的。A公有继承的公有成员 B公有继承的私有成员 C公有继承的保护成员 D私有继承的公有成员18. C+类体系中,不能被派生类继承的有( )。A构造函数 B虚函数 C静态成员函数 D赋值操作函数19以下( )成员函数表示虚函数。Avirtual int vf(int); Bvoid vf(int)=0; C纯虚函数,不用定义virtual void vf()=0; Dvirtual void vf(int) ;20. 下面对静态数据成员的描

8、述中,正确的是( )。A静态数据成员可以在类体内进行初始化B静态数据成员不可以在类体内进行初始化C静态数据成员不能受private控制符的作用D静态数据成员可以直接用类名调用?21. 继承具有( ),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。 A规律性 B传递性 C重复性 D多样性22.若有以下定义,则释放指针所指内存空间的操作是 ( )。 float r=news float10;A.delete r ; B.delete *r;C.delete r; D.delete r;23.若有以下定义,则对字符串的操作错误的是( strcat(s1, s2):add

9、s2 to s1s tail.)。 char s10=”Program”,t=”test”; A.strcpy(s,t);Copy t to s B.coutt;24.在if语句中的表达式是( )。A.只能是表达式 B.只能是关系表达式和逻辑表达式C.只能是逻辑表达式 D.可以是任意表达式25.在用关键字class定义的类中,以下叙述正确的是( )。A. 在类中,不作特别说明的数据成员均为私有类型B. 在类中,不作特别说明的数据成员均为公有类型C. 类成员的定义必须是成员变量定义在前,成员函数定义在后D. 类的成员定义必须放在类定义体内部参考答案:123456789101112131415BC

10、CBDCDCDBBBBCA16171819202122232425CAADBBCCDA公共基础知识 一、选择题 ()下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征 ()结构化程序设计所规定的三种基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数()结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法()如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择B)投影C)连接D)并一:选

11、择题:(1) D (2) C (3) D (4) BC+语言程序设计一、选择题()C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A)面向过程B)面向对象C)安全性D)复用性()C+语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用与循环体中C)break是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题()for(int x=,y=o;!x& &y=5;y+)语句执行循环的次数是()A)B)C)D)无次数()考虑函

12、数原型void test(int a,int b=7,char=*)默认参数格式,下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,#) D)test(0,0.*);(5)下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;()下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载()下面描述中,表达错误的是()A)公有继承时基类中的p

13、ublic成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的()应在下列程序划线处填入的正确语句是()#includeclass Base public:void fun()coutBase:fun;class Derived:public Base void fun()_ file:/显示调用基类的函数fun()coutDerived:funfun();(9)有如下程序:includeclass B

14、ASEchar c;public:BASE(char n):c(n)virtualBASE()coutc;class DERIVED:public BASEchar c;public:DERIVED(char n):BASE(n+1),c(n)DERIVED()coutc;int main() DERIVED(X);return 0;执行上面的程序将输出()A)XY B)YX C)X D)Y(10)在进行完任何C+流的操作后,都可以用C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()A)fail B)eof C)bad D)good一:选择题1-5 :B B C

15、C C6-10:D B C A B1、下列有关类的说法不正确的是( )。A 对象是类的一个实例B 任何一个对象只能属于一个具体的类C 一个类只能有一个对象D 类与对象的关系和数据类型与变量的关系相似答案:C分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。2、下面( )项是对构造函数和析构函数的正确定义。Avoid X:X(), void X:X()BX:X(参数), X:X()CX:X(参数), X:X(参数)Dvoid X:X(参数), void X:X(参数)答案:B分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载

16、。3、( )的功能是对象进行初始化。 A析构函数 B. 数据成员 C.构造函数 D.静态成员函数答案:C分析:当一个对象定义时,C+编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C+编译系统自动调用析构函数注销该对象并进行善后工作;4、下列表达方式正确的是( )。Aclass P B class Ppublic: public:int x=15; int x; void show()coutx; void show()cout0 的值 。 A) 为true B) 为false C) 与x的值相同 D) 与x的值相反 (3) 执行语句序列 int n; cinn;

17、switch(n) case 1: case 2: coutX; case 3: case 4: coutY; break; default:coutx; if(x250) coutX; if(x250) coutY; else coutX; 时,不可能出现的情况是 。 A) 显示:X B) 显示:Y C) 显示:XY D) 显示:XX (5) 要定义一个具有5个元素的一维数组,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中不正确的是 。 A) int vect=30,50,-88; B) int vect=30,50,-88,0,0; C) int vect5=30,5

18、0,-88; D) int vect5=30,50,-88,0,0; (6) 已知某应用系统中已经定义了函数fun,其原形是 int fun(char=A); 则下列函数中,可以在同一系统中加以重载的是 。 A) int fun(); B) int fun(char); C) int fun(char,int); D) int fun(char,double=0.0); (7) 若指针p定义为 const char *p=Luchy!; 则 。 A) p所指向的数据不可改变,p在定义时可以不初始化。 B) p所指向的数据不可改变,p在定义时必须初始化。 C) p本身不可改变,p在定义时可以不初

19、始化。 D) p本身不可改变,p在定义时必须初始化。 (8) 已知数组A和指针p定义为:int A2010,*p;,要使p指向A的首元素,正确的赋值表达式是 。 A) p=&A 或 p=A00 B) p=A 或 p=&A00 C) p=&A0 或 p=A00 D) p=A0 或 p=&A00 (9) 已知函数func的原形是 double func(doouble *pd,int &ri); 变量x和y的定义是 double x; int y; 把x和y分别作为第一参数和第二参数来调用函数func,正确的调用语句是 。 A) func(x,&y); B) func(&x,y); C) func

20、(&x,&y); D) func(x,y); (10) 要使字符串变量str具有初值Lucky,正确的定义语句是 debug. A)没有休止符。 A) char str=L,u,c,k,y; B) char str5=L,u,c,k,y; C) char str =Lucky; D) char str 5=Lucky; (11) 已知某函数的一个形式参数被说明为MAT310,在下列说明中,与此等效的形参说明是 。 A) int MAT10 B) int MAT3 C) int MAT103 D) int MAT (12) 若指针p定义为 char * =Luchy!; 则 。 A) p所指向的

21、数据不可改变,p在定义时可以不初始化。 B) p所指向的数据不可改变,p在定义时必须初始化。 C) p本身不可改变,p在定义时可以不初始化。 D) p本身不可改变,p在定义时必须初始化。 (13) 在下列表达式中,与下标引用Aij不等效的是 。 A) *(A+i+j) B) *(Ai+j) C) *(*(A+i)+j) D) (*(A+i)j (14) 要使语句p=new double20;能够正常执行,变量p应定义为 。 A) double p20; B) double p; C) double (*p)20; D) double *p;(15) 执行下列语句序列 struct AA int

22、 ival; char cval; struct BB int ival; AA ra; struct CC int ival; AA ra; BB rb; CC rc=66,rc.ival+1,rc.ra.ival+1,69,70,71; coutrc.ival,rc.ra.ival,ival=rc.ival+1; rc.ra-cval=rc.ra-ival+1; coutrc.ival,ival,rc.rb.ra.ival; 后,显示在屏幕上的是 。 A) 67,69,70 B) 66,67,70 C) 67,68,69 D) 66,67,68 (19) 类的默认的拷贝构造函数 。 A)

23、在任何情况下都存在 B) 仅当未定义拷贝构造函数时存在 C) 仅当未定义有参构造函数时存在 D) 仅当未定义任何构造函数时存在 (20) 语句ofstream f(SALARY.DAT,ios:nocreate | ios:trunc); 的功能是建立流对象f,并试图打开文件SALARY.DAT并与之连接,而且 。 A) 若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。 B) 若文件存在,将其截为空文件;若文件不存在,打开失败。 C) 若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。 D) 若文件存在,打开失败;若文件不存在,建立一个新文件。答案: 15:

24、DDACA 610:CADBC 1115: ADADC 1620:DDBBBC+试题21下列变量名中,( )是合法的。A.56A B._abc C.d-Ptr D.while 2下列各种运算符中,( )优先级最高。A. + B.& C.= D.*= 3设变量m,n,a,b,c,d均为0,执行(m = a=b)&(n=c=d)后,m,n的值是( )。A.0,0 B. 0,1 C. 1,0 D. 1,14. 字符串”tv0whichn”的长度是( )。A. 4 B. 10 C. 9 D. 字符串有非法字符,输出值不确定 5. 设a=2,b=3,c=2;计算a+=b*=(+b-c+)中a、b、c的值

25、( )。A.8、6、2 B. 2、4、2 C.10、8、3 D. 5、3、36. 已知:int i=5,下列do-while循环语句的循环次数为( )。docouti-endl; i-;while(i!=0);A0 B1 C5 D无限7.下面关于循环语句的描述中,( )是错误的。A循环体内可以包含有循环语句B循环体内必须同时出现break语句和continue语句C循环体内可以出现选择语句D循环体内可以是空语句8.下面程序段( )。x=3;do y=x-; if(!y) cout”x”; continue;cout=1 & x=2);A将输出# B将输出#C是死循环 D含有不合法的控制表达式9

26、.在函数的定义格式中,下面各组成部分中,( )是可以省略的。A函数名 B函数体 C函数数据类型说明 D函数参数 10.在函数的引用调用时,实参和形参应该是使用( )。A变量值和变量 B地址值和指针C变量值和引用 D地址值和引用11以下关于文件操作的叙述中,不正确的是( )。A打开文件的目的是使文件对象与磁盘文件建立联系B文件读写过程中,程序将直接与磁盘文件进行数据交换C关闭文件的目的之一是保证将输出的数据写入硬盘文件D关闭文件的目的之一是释放内存中的文件对象12. 若有语句int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则( )不是对a数组元素的正确引用(其中0i10)。Ap

27、iB*(*(a+i)Cap-aD*(&ai)13. 以下程序的输出结果是( )。#include void 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+; coutv1,v2,v3,v4endl;A1,2,2,5 B4,7,5,8 C1,5,3,10D8,8,8,814. 下列结构体定义,正确的是 。A. record B. struct recor

28、d int no; int no; char num16; char num16;float score ; float score ; ; C. struct record D. struct record int no; int no char num16; char num16 float score ; float score ; 15. 下列是构造函数的特点,( )是错误的。A构造函数是一种成员函数,它具有一般成员函数的特点B构造函数的名称与其类名相同C构造函数必须指明其类型D一个类中可定义一个或多个构造函数16. 关于友元函数的描述中,( )是错的。A 友元函数是成员函数,它被说明在类体内 B 友元函数可直接访问类中的私有成员C 友元函数破坏封装性,使用时尽量少用D 友元类中的所有成员函数都是友元函数17. 下列对派生类的描述中,( )是错误的。A 一个派

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com