C++单选
- 格式:xls
- 大小:38.00 KB
- 文档页数:9
《C 语言程序设计》题库吕橙1一、单选题1、能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A:(a>=0||b>=0)&&(a<0|| b<0) B:(a>=0&&b>=0)&&(a<0&&b<0) C:(a+b>0)&&(a+b<=0) D:a*b>0答案:D难度:1知识点:单选题/第四章2、若执行下面的程序时从键盘上输入3和4,则输出是______。
A:14 B:16 C:18 D:20答案:B难度:1知识点:读程序选结果/第四章3、设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。
A:'a'&&'b' B:a<=b C:a||+c&&b-c D:!((a<b)&&!c||1)答案:D难度:1知识点:单选题/第四章4、设a=5、b=6、c=7、d=8、m=2、n=2,执行(m=a>b)&&(n=c>d)后n的值为______。
A:1 B:2 C:3 D:4答案:B难度:1知识点:单选题/第四章第4 章选择题2 吕橙5、设ch是char型变量,其值为A,且有下面的表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是______。
A:A B:a C:Z D:z答案:B难度:1知识点:单选题/第四章6、下面程序的输出是______。
A:-1 B:0 C:1 D:不确定的值答案:A难度:1知识点:读程序选结果/第四章7、表达式:10!=9的值是______。
A:true B:非零值C:0 D:1答案:D难度:1知识点:单选题/第四章8、有如下程序《C 语言程序设计》题库吕橙3该程序的输出结果是______。
1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。
c语言单选题\、c语言源程序的基本单位是()。
a)过程b)函数c)子程序d)标识符答案:b\\、下列字符序列中,可用作c标识符的一组字符序列是()。
a)s.b,sum,average,_aboveb)class,day,lotus_1,2dayc)#md,&12x,month,student_n!d)d56,r_1_2,name,_st_1答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
a)a3_b3b)voidc)_123d)if答案:b\\、以下数据中,不恰当的数值或字符常量就是()。
a)0b)5lc)o13d)9861答案:c\\、以下的选择中,正确的赋值语句是()。
a)a=1,b=2b)j++c)a=b=5;d)y=int(x)答案:c\\、以下运算符中,优先级最低的运算符就是()。
a)?:b)++c)&&d),答案:b\\、在c语言中,能代表逻辑值“真”的是()。
a)trueb)大于0的数c)非0整数d)非0的数答案:d\\、下列变量说明语句中,正确的是()。
a)char:abc;b)chara;b;c;c)intx;z;d)intx,z;答案:d\\、以下字符序列中,不容用做c语言标识符的就是()。
a)b70b)#abc)symbold)a_1答案:b\\、以下不正确的叙述是()。
a)在c程序中所用的变量必须先定义后采用b)程序中,aph和aph就是两个相同的变量c)若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变d)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
a)forb)printfc)wordd)sizeof答案:d\\、以下标识符中,无法做为合法的c用户定义标识符的就是()。
a)answerb)toc)signedd)_if答案:c\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
XX年全国计算机二级《C语言》单项选择题及答案1). 假设变量已正确定义并赋值,以下符合C语言语法的表达式是A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b正确答案:B答案解析:选项A中包含一个不合法的运算符":=";选项C应改为(int)18.5%3;选项D可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
2). 构造化程序设计的根本原那么不包括( )A.多元性B.自顶向下C.模块化D.逐步求精正确答案:A答案解析:构造化程序设计方法的主要原那么可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。
3). 下面选项中关于位运算的表达正确的选项是( )A.位运算符都需要两个操作数B.左移运算的结果总是原操作数据2倍C.右移运算时,高位总是补0D.位运算的对象只能是整型或字符型数据正确答案:D答案解析:位运算那么是以位(bit)一级进展的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。
其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。
而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。
4). 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )A.-369B.369C.0.369D.整数集合{1,2,3,4,5}正确答案:B答案解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A和选项C,选项D是整数集合,所以也排除。
5). 以下关于类、对象、属性和方法的表达中,错误的选项是( )。
安全员C类单选复习题含参考答案一、单选题(共100题,每题1分,共100分)1、施工升降机接料平台口应设置高度不低于()的安全门或活动防护栏杆。
A、1.8mB、2.0cmC、1.6cmD、1.5cm正确答案:A2、下列关于钢丝绳夹用途的说法,错误的是()。
A、钢丝绳穿绕滑车组时绳端的固定B、钢丝绳的展开C、钢丝绳的连接D、缆风绳绳头的固定时绳端的固定正确答案:B3、沥青路面施工,凡患有()、皮肤病及对沥青过敏反应者,不宜从事沥青作业。
A、胃病B、肝炎C、结膜炎D、胆囊炎正确答案:C4、钢丝绳的安全系数是不可缺少的安全储备,选择用于机动起重设备钢丝绳的安全系数是()。
A、6~7B、3.5C、4.5D、5~6正确答案:D5、建筑起重机械使用单位在建筑起重机械安装验收合格之日起()日内,向工程所在地建设主管部门办理使用登记。
A、20B、15C、40D、30正确答案:D6、根据《建筑施工企业安全生产许可证管理规定》,建筑施工企业安全生产许可证采用国务院安全生产监督管理部门规定的统一式样,由()统一印制,实行全国统一编码。
A、国务院安全生产监督管理部门B、住房和城乡建设部C、省建筑工程管理部门D、设区的市建设行政主管部门正确答案:B7、根据《安全生产法》规定,生产经营单位的从业人员不服从管理,违反安全生产规章制度或者操作规程的,由生产经营单位给予以下处理:()。
A、批评教育B、开除C、依照有关法规给予处分24D、依照有关法律给予处分正确答案:A8、下列关于混凝土泵车作业前准备事项,不正确的是()。
A、发现布料软管长度不足时应及时接长B、安全装置齐全有效,仪表应指示正常C、将支腿打开并用垫木垫平,车身的倾斜度不应大于3°D、软管安全链与臂架连接应牢固正确答案:A9、门式钢管模板支架的门架净间距不应超过()。
A、1.8mB、1.2mC、1.5mD、2.0m正确答案:B10、《劳动法》规定,用人单位必须对从事有职业危害作业的劳动者定期进行()。
C语言选择题1、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
——[单选题]A 生成可执行目标文件B 生成目标文件C 输出运行结果D 自动保存源文件正确答案:B2、一个C语言程序是由()——[单选题]A 一个主程序和若干子程序组成B 函数组成C 若干过程组成D 若干子程序组成正确答案:B3、C 程序的执行过程在下列说法中,▁▁▁▁▁ 是正确的。
——[单选题]A C 程序从第一个函数开始执行,直到最后一个函数结束B C 程序从第一个函数开始执行,直到主函数结束C C 程序从主函数开始执行,直到最后一个函数结束D C 程序从主函数开始执行,直到主函数结束正确答案:D4、结构化程序由三种基本结构组成,三种基本结构组成的算法——[单选题]A 可以完成任何复杂的任务B 只能完成部分复杂的任务C 只能完成符合结构化的任务D 只能完成一些简单的任务正确答案:A5、以下叙述中错误的是()——[单选题]A c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D c语言源程序经编译后生成后缀为.obj的目标程序正确答案:A6、以下叙述中,正确的是。
——[单选题]A C语言程序总是从第一个函数开始执行B 在C语言程序中,要调用的函数必须在main()函数中定义C C语言程序总是从main()函数开始执行D C 语言程序中的main()函数必须放在程序的开始部分正确答案:C7、C 风格的注释 C 风格的注释,也称块注释或多行注释,以▁▁▁ 开始,以▁▁▁ 结束。
——[单选题]A /* 和 */B { 和 }C [ 和 ]D ( 和 )正确答案:A8、空语句仅有一个▁▁▁▁▁ 的语句称为空语句。
——[单选题]A 逗号( , )B 句号( . )C 分号( ; )D 冒号( : )正确答案:C9、c语言规定,在一个源程序中,main函数的位置()。
一、单项选择共206题第1题题号:3123下列数据中属于"字符串常量"的是A:ABCB:"ABC"C:'ABC'D:'A'答案:B第2题题号:3090能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A:a>=10 or a<=0B:a>=0 | a<=10C:a>=10 && a<=0D:a>=10 || a<=0答案:D第3题题号:3122从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句答案:C第4题题号:3114C语言源程序名的后缀是A:exeB:cC:objD:cp答案:B第5题题号:3120下列( )表达式的值为真,其中a=5;b=8;c=10;d=0 A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b<c*d答案:D第6题题号:3124C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件A:.cB:.objC:.exeD:.bas答案:C第7题题号:3162若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40答案:D第8题题号:3098在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是A:externB:registerC:autoD:static答案:D第9题题号:3161C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为A:.cB:.objC:.exeD:.bas答案:B第10题题号:3109C语言的if语句中,用作判断的表达式为A:任意表达式B:逻辑表达式C:关系表达式D:算术表达式答案:A第11题题号:3129设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为A:floatB:intC:charD:double答案:D第12题题号:3166 定义共用体的关键字是A:unionB:enumC:structD:typedef答案:A第13题题号:3153 以下正确的字符串常量是A:"\\\"B:'abc'C:OlympicGamesD:'A'答案:A第14题题号:3126 定义结构体的关键字是A:unionB:enumC:structD:typedef答案:C第15题题号:3128 下列正确的标识符是A:_doB:6aC:%yD:a+b答案:A第16题题号:3091 C程序的基本结构单位是A:文件B:语句C:函数D:表达式答案:C第17题题号:3130下列说法中错误的是A:一个数组只允许存储同种类型的变量B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C:数组的名称其实是数组在内存中的首地址D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改答案:B第18题题号:3139算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为A:算术运算、赋值运算、关系运算B:关系运算、赋值运算、算术运算C:算术运算、关系运算、赋值运算D:关系运算、算术运算、赋值运算答案:C第19题题号:3144若x=2,y=3则x||y的结果是A:0B:1C:2D:3答案:B第20题题号:3110C 语言程序的三种基本结构是顺序结构、选择结构和______结构.A:循环B:递归C:转移D:嵌套答案:A第21题题号:3092设有说明:char w; int x; float y; double z; 则表达式w*x+z-y 值的数据类型为().A:floatB:intC:charD:double答案:D第22题题号:3106执行下列程序段后,m的值是________.int w=2,x=3,y=4,z=5,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A:4B:3C:5D:2答案:D第23题题号:3108C语言的switch语句中case后A:只能为常量B:只能为常量或常量表达式C:可为常量或表达式或有确定值的变量及表达式D:可为任何量或表达式答案:B第24题题号:3100C语言函数的隐含存储类别是A:staticB:autoC:registerD:extern答案:D第25题题号:3142以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4; w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A:1B:2C:3D:4答案:D第26题题号:3160为表示关系x≥y≥z,应使用C语言表达式A:(x>=y)&&(y>=z)B:(x>=y) AND (y>=z)C:(x>=y>=z)D:(x>=z)&(y>=z)答案:A第27题题号:3167下列关于指针定义的描述,___________是错误的A:指针是一种变量,该变量用来存放某个变量的地址值的B:指针是一种变量,该变量用来存放某个变量的值C:指针变量的类型与它所指向的变量类型一致D:指针变量的命名规则与标识符相同答案:B第28题题号:3088下列变量中合法的是A:B.C.TomB:3a6bC:_6a7bD:$ABC答案:C第29题题号:3145C语言中,switch后的括号内表达式的值可以是A:只能为整型B:只能为整型,字符型,枚举型C:只能为整型和字符型D:任何类型答案:D第30题题号:3159字符串指针变量中存入的是A:字符串B:字符串的首地址C:第一个字符D:字符串变量答案:B第31题题号:3135C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern答案:B第32题题号:3094C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数答案:B第33题题号:3117已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A:A,BB:A,68C:65,66D:65,68答案:C第34题题号:3125若有定义int a[10],*p=a;,则p+5表示A:元素a[5]的地址B:元素a[5]的值C:元素a[6]的地址D:元素a[6]的值答案:A第35题题号:3102若int a=3,则执行完表达式a-=a+=a*a后,a的值是A:-15B:-9C:-3D:0答案:D第36题题号:3157若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A:*(a+2)B:a[p-3]C:p+2D:a+3答案:A第37题题号:3165main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第38题题号:3143以下程序的输出结果是________.void fun(int a, int b, int c){ a=456; b=567; c=678; }main(){ int x=10, y=20, z=30;fun(x, y, z);printf("%d,%d,%d\n", z, y, x);}A:30,20,10B:10,20,30C:456567678D:678567456答案:A第39题题号:3137有定义:char*p1,*p2;则下列表达式中正确合理的是A:p1/=5B:p1*=p2C:p1=&p2D:p1+=5答案:C第40题题号:3099若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;不能表示a数组元素的表达式是A:*pB:a[10]C:*p++D:a[*p-a]答案:D第41题题号:3147对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是A:aa数组元素的值分别是"abcd"和"ABCD"B:aa是指针变量,它指向含有两个数组元素的字符型一维数组C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址答案:D第42题题号:165下列定义数组的语句中正确的是()。
C语言单项选择题单项选择题(本大题共20小题,每小题1分,共20分)1.C++源程序文件扩展名为(A)A..cppB..hC..1ibD..obj5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.createC.delete D.realse6.从本质上看,引用是被引用变量的(B)A.拷贝B.别名C.复制D.克隆7.在函数调用时,如某一默认参数要指明一个特定值,则有(B)A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C)A.int m=max(22,max(59,70));B.int m=max(max(22,59),70);C.int m=max(22,59,70);D.int m=max(59,max(22,70));9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B)A.int m=min(min(15,26),min(15,47));B.int m=min(15,26,47);C.int m=min(15,min(47,26));D.int m=min(min(47,26),16);13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为(B)A.9,14B.9,15C.10,14D.10,1516.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C)A.10,10B.10,15C.15,10D.15,1517.设函数void swap(int,int)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为(C)A.15,10B.15,15C.10,15D.10,1018.设函数void subone(int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b 的值为(B)A.9B.10C.11D.未知10.下列函数不能和函数void print(char)构成重载的是(C)A.int print(int);B.void print(char,char);C.int print(char);D.void print(int,int);15.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明(C)A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);11.C++类中定义的成员默认访问属性为(B)A.publicB.privateC.protectedD.friend12.决定C++语言中函数的返回值类型的是(D)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型14.声明函数为内联函数时所使用的关键字为(B)A.constB.inlineC.shortD.signed19.声明函数int Func(int a=0,int b=3,int c=4)相当于声明了几个函数形式(A)A.1B.2C.3D.420.函数默认参数在函数原型中说明,默认参数必须放在参数序列的(C)A.前部B.中部C.后部D.两端21.下列哪个类型函数不适合声明为内联函数(A)A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长22.int Func(int,int);不可与下列哪个函数构成重载(B)A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);23.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为(B)A.9B.10C.11D.未知24.下列哪种默认参数的声明是不正确的(C)A.int max(int a,int b,int c,int d=0);B.int max(int a,int b,int c=0,int d=0);C.int max(int a=0,int b,int c=0,int d=0);D.int max(int a,int b=0,int c=0,int d=0);25.设int&max(int&,int&)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为(C)A.10,15B.11,15C.10,16D.1l,1626.包含哪种语句的函数不能声明为内联函数(A)A.循环B.变量自增自减C.if...else…D.变量声明*27.对类中声明的变量,下列描述中正确的是(C)A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享28.类的私有成员可在何处访问(D)A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中29.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(A)A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译30.一个类可包含析构函数的个数是(B)A.0个B.1个C.至少一个D.0个或多个31.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(A)A.<>B.“”C.()D.{}32.一个类拥有多个构造函数,则这些构造函数间为(A)A.重载关系B.重复关系C.拷贝关系D.无关系33.对于拷贝构造函数point::point(point&p),下列说明正确的是(C)A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员34.使用delete[]删除对象数组时,描述正确的是(A)A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数35.this指针存在的目的是(B)A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问36.下列关于类的权限的描述错误的是(A)A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员37.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(B)A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定*38.下列描述错误的是(A)A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员39.对于友元描述正确的是(B)A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员*40.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和private B.public和protectedC.protected和private D.仅protected41.内联函数的特点是(D)A.减少代码量,加快访问速度B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度D.增加代码量,加快访问速度42.类的私有成员可在何处被访问(A)A.本类的成员函数中B.本类及子类的成员函数中C.通过对象名在任何位置D.不可访问43.假定MyClass为一个类,则该类的复制构造函数的声明语句为(C)A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass&x);D.MyClass(MyClass*x);44.类的构造函数在以下什么情况下会被自动调用(B)A.定义成员函数时B.定义对象时C.定义数据成员时D.定义友元函数时45.下列关于析构函数描述正确的是(D)A.可以重载B.函数体中必须有delete语句C.返回类型必须是void类型D.不能指定返回类型46.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是(D)A.Sum(1,2);B.Sum(3.0,2.2);C.Sum(‘A’,‘C’);D.Sum("A","C");*47.关于类的静态成员函数描述错误的是(A)A.在创建对象前不存在B.不能说明为虚函数C.不能直接访问非静态函数D.不是对象的成员48.如果类A被声明成类B的友元,则(B)A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元49.派生类的对象可以访问以下那种情况继承的基类成员(B)A.私有继承的私有成员B.公有继承的私有成员C.私有继承的保护成员D.公有继承的公有成员50.函数模板templatevoid Func(T,T)可具有下列哪种实例化形式(B)A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的(A)A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名*51.对类A,复制构造函数的原型是(A)A.A::A(const A&);B.A::A(const A*);C.A::A(const A);D.A::A();52.对class point,如使用point*ptr=new point[2];创建对象数组,则删除此数组使用的语句是(B)A.delete ptr[2];B.delete[]ptr;C.delete ptr[];D.delete[2]ptr;53.下列哪个编译指令不属于条件编译指令(D)A.#ifB.#elseC.#endifD.#error54.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为(B)A.未初始化B.等于a.xC.等于0D.随机55.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是(C)A.strlen()B.strcap()C.strcat()D.strcmp()56.基类中的public成员,通过public派生,其在派生类中的访问权限为(D)A.不可访问B.privateC.protectedD.public57.不同对象调用同名函数,但导致完全不同行为的现象称为(D)A.抽象B.封装C.继承D.多态性58.设类Test中存在成员static int x,则下列哪种初始化方式是正确的(C)A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;59.下列关于友元的描述错误的是(C)A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元60.在继承中,派生类拥有的基类个数为(B)A.0个B.1个C.多个D.至少1个61.基类中的protected成员,通过public派生,其在派生类中的可见性为(D)A.不可访问B.privateC.protectedD.public62.下列哪个不是面向对象的关键要素(B)A.抽象性B.结构性C.封装性D.多态性63.设函数void subone(int&)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为(A)A.9B.10C.11D.未知64.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是(A)A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);65.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int*value;};若要对value赋值,则下面语句正确的是(B、D)A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);66.包含哪种语句的函数不能声明为内联函数(D)A.变量定义B.if……elseC.位操作D.switch67.声明函数模板的关键字是(B)A.inlineB.templateC.constD.short68.对于类中的成员,使用public修饰,表明该成员的访问权限是(A)A.公有的B.私有的C.保护的D.不可见的*69.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(B)A.不允许B.允许C.无法确定D.视构造函数的函数,可确定70.析构函数的参数个数为(A)A.0个B.1个C.至少1个D.多于1个71.非静态成员函数都会有一个隐含指针,它是(B)A.self指针B.this指针C.current指针D.one指针72.下列访问公有静态成员的方式,错误的是(A)A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名73.声明友元使用下列哪个关键字(C)A.class B.constC.friend D.virtual74.派生类继承了基类的(A)A.所有成员B.部分成员C.数据成员D.成员函数75.基类private成员,通过public派生,其在派生类中为(A)A.private B.protectedC.public D.不可访问76.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和privateB.public和protectedC.protected和privateD.仅protected77.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.freeB.createC.deleteD.realse78.对于new类型名[size]描述正确的是(C)A.申请可以存储size个字节的空间B.申请可以存储1个该数据类型的空间C.申请可以存储size个该数据类型对象的空间D.申请可以存储1个字节的空间79.构造函数用于(B)A.定义对象B.初始化对象C.清除对象D.普通计算80.C++中专门定义一个仅在模板中使用的参数类型的关键字是(D)A.const B.inlineC.short D.typename81.对于类中的成员,使用private修饰,表明该成员的访问权限是(B)A.公有的B.私有的C.保护的D.不可见的82.使用new创建的对象,对其生命周期描述正确的是(B)A.由系统决定B.由用户控制C.全局生命周期D.永久存在83.析构函数被调用的时间点是(B)A.对象被创建时B.对象被销毁时C.不会被调用D.主函数被调用时*84.对象的构造函数调用顺序取决于(C)A.对象成员在初始化列表中给出的顺序B.对象成员在类中声明的顺序C.对象成员与在初始化列表中顺序和类中声明顺序均有关D.随机顺序85.下列对静态成员函数描述正确的是(B)A.静态成员函数中可使用1个this指针B.静态成员函数中不能使用this指针C.静态成员函数中可使用多个this指针D.静态成员函数中只可使用1个that指针86.友元的声明可出现在(B)A.类的私有部分B.类的公有部分C.类的保护部分D.类的任何部分*87.在下列派生中,子类和父类间是isa关系的是()A.private B.protectedC.public D.publish88.面向对象不仅进行功能抽象,还要进行(C)A.动态抽象B.消息抽象C.数据抽象D.算法抽象89.如声明对象数组,则下列描述正确的是(A)A.对每个元素均调用一次构造函数B.部分元素调用构造函数,其它元素不需调用C.均不需要调用构造函数D.只是首元素调用构造函数*90.不同对象调用同一成员函数时,this指针指向(A)A.不同对象B.相同对象C.无对象D.不确定*91.一个类可拥有多少个构造函数(C)A.0个B.1个C.1或多个D.以上皆对92.下列哪个要素不是面向对象的关键要素(A)A.模块化B.抽象性C.封装性D.继承性93.下列对于类的描述错误的是(C)A.类要先声明后使用B.类是具有唯一标识的实体C.两个类可以使用同一个名称D.组成类的不仅有数据,还可以有对数据进行操作的函数*94.使用引用调用方式将实参传给形参,下列说法正确的是(A)A.形参是实参的备份B.实参是形参的备份C.形参和实参共享同一对象D.形参和实参无联系95.关于对象的性质,下列描述错误的是(B)A.同一类对象之间可相互赋值B.不能使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员96.类的私有成员可在哪里被赋值(B)A.类体中B.该类的成员函数中C.A和BD.以上都不是97.派生类中继承的基类成员初始化如何进行(A)A.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确98.对于多重继承,下列描述正确的是(B)A.所有基类使用相同的派生方式B.每个基类可使用不同派生方式C.只能是public派生D.只能是protected派生99.下列关于类的权限描述错误的是(B)A.类本身的成员函数可以访问自身的任何成员B.类的对象可以访问该类的所有成员C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员100.运算符delete与哪个函数一起运行(B)A.构造函数B.析构函数C.主函数D.不与任何函数一起工作101.一个类可以获得另一个类的特性的机制称为(C)A.抽象B.封装C.继承D.多态性102.对引用调用描述正确的是(B)A.分配新存储空间B.修改已存储空间的名称为引用名C.引用名与已存在存储空间无任何关联D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间。
题干下列各种高级语言中,( )是面向对象的程序设计语言。
下列关于对象的描述中,错误的是( )。
在关于C++与C 语言关系的描述中,( )是错误的。
按照标识符的要求,( )符号不能组成标识符。
下列符号中,( )不可作为分隔符。
在16 位机中,int 型字宽为( )字节。
类型修饰符unsigned 修饰( )类型是错误的。
下列十六进制的整型常数表示中,( )是错误的。
下列double 型常量表示中,( )是错误的。
下列字符常量表示中,( )是错误的。
下列字符串常量表示中,( )是错误的。
下列变量名中,( )是合法的。
在int a[5] = {1,3,5};中,数组元素a[1]的值是( )。
在int b[][3]={{1},{3,2},{4,5,6},{O}};中b[2][2]的值是( )。
在对字符数组进行初始化时,( )是正确的。
在int a=3,*p=&a;中,*p的值是( )。
对于int *pa[5];的描述,( )是正确的。
下列关于指针的运算中,( )是非法的。
指针可以用来表示数组元素,下列表示中( )是错误的。
已知:int a[3]下列表示引用的方法中,( )是正确的。
已知:int m=10;下列各运算符中,( )可以作用于浮点数。
下列各运算符中,( )不能作用于浮点数。
下列各运算符中,( )优先级最高。
下列各运算符中,( )优先级最低。
下列各运算符中,( )运算的结合性从左到右。
下列表达式中,( )是非法的。
已知:int a=5;float b=5.5;下列表达式中,( )是合法的。
已知:double m=3.2;int n=3;下列关于类型转换的描述中,( )是错误的。
下列各表达式中,( )有二义性。
已知:int a(5),b(6);预处理命令在程序中都是以( )开头的。
文件包含命令中被包含的文件的扩展名( )。
下列条件编译命令中 #if() <语句序列1> # else <语句序列2> #带参数的宏定义中, 程序中引用宏定义的实参( )。
下列( )是语句。
下列for 循环的次数为()。
for(int i(0),x=0;!x&&i<=5;i++)下列while 循环的次数是( )。
while ( int i=0 )i--;下列do-while 已知:循环的循环次数为( )。
已知int i(5);do{ cout <<i--<<endl;i--;} while (i!=0);下列for 循环的循环体执行次数为( )。
for( int i(0),j(10); i=j=10; i++,j--)已知:int a , b ;下列switch 语句中,( )是正确的。
下述关于循环体的描述中,( )是错误的。
下述关于break 语句的描述中,( )是不正确的。
下列关于开关语句的描述中,( )是正确的。
下列关于条件语句的描述中,( )是错误的。
当一个函数无返回值时,定义它时函数的类型应是( )。
在函数说明时,下列( )项是不必要的。
在函数的返回值类型与返回值表达式的类型的描述中,( )是错误的。
在一个被调用函数中,关于return 语句使用的描述,( )是错误的。
下列描述中( )是引用调用。
在传值调用中,要求( )。
在C++语言中,关于下列设置参数默认值的描述中,( )是正确的。
重载函数在调用时选择的依据中,( )是错误的。
下列的标识符中,( )是文件级作用域的。
有一个int 型变量,在程序中使用频度很高,最好定义它为( )。
下列标识符中,( )不是局部变量。
下列存储类标识符中,( )的可见性与存在性不一致。
在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执采用函数重载的目的在于( )。
在将两个字符串连接起来组成一个字符串时,选用( )函数。
下面关键字中,用以说明类中公有成员是( ).下列的各类函数中,( )不是类的成员函数.作用域运算符的功能是( ).( )不是构造函数的特征.( )是析构函数的特征.通常复制构造函数的参数是( ).下面关于成员函数特征的描述中,( )是错误的.下述静态数据成员的特性中,( )是错误的.友元的作用( ).已知一个类A,( )是指向类A成员函数的指针.假如类有三个公有成员:v 运算符->*的功能是( ).已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象.如果要给m赋已知:类A中一个成员函数说明如下:void Set(A &a);其中,A&a的含意是(下列关于对象数组的描述中,( )是错误的.下列定义中,( )是定义指向数组的指针p.下列说明中,const char *ptr;ptr应该是( ).已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,( 关于new运算符的下列描述中,( )是错误的.关于delete运算符的下列描述中,( )是错的.具有类型转换功能的构造函数,应该是( ).下列关于模板的描述中,错误的是( ).下列对派生类的描述中,( )是错误的.派生类的对象对它的基类中( )是可以访问的.派生类的构造函数的成员初始化值表中,不能包含( ).关于子类型的描述中,( )是错误的.下列关于赋值兼容规则的描述中,( )是错误的.关于多继承二义性的描述中,( )是错误的.设置虚基类的目的是( ).在带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类下列关于多态性说法不正确的是( ).下列函数中,( )不能重载.下列运算符中,( )个运算符不能重载.下列关于运算符重载的描述中,( )是正确的.关于动态联编的下列描述中,( )是错误的.关于虚函数的描述中,( )是正确的.关于纯虚函数和抽象类的描述中,( )是错误的.下列描述中为抽象类的最主要特征的是( ).进行文件操作时需要包含( )文件.使用操作子对数据进行格式输出时,应包含( )文件.已知:int a,*pa=&a;输出指针pa十进制的地址值的方法是( ).A B CBASIC PASCAL C++对象是类的别名对象是类的实例一个类可以定义多个对象C 语言是C++的一个子集 C ++是与C 语言兼容的C++对C 语言进行了一些改连接符下划线大小写字母,:?246char int long intOxaf OXlb2fxE15353E5\105'*'\4f'"\" yes\"or\"No\""\'OK\'""abcd\n"CHINA byte-size double103056char s1[]="abcd";char s2[3]="xyz";char s3[][3]={'a','x',变量a 的地址值无意义变量p的地址值pa[5]表示某个数组的第5 pa 是一个指向数组的指针,pa 是一个指向某数组中第5个元素可以用一个空指针赋值给某个指针一个指针可以加上两个整两个指针在一定条件下,可以*(a+1)[5]*(*a+3)*(*(a+1))int &x=m;int &y=10;int &z;++%>>||&&!+(双目)*(单目)<=?:|||三目赋值比较a%3+b b*b&&++a(a>b)+(int(b)%2)m<<2(m+n)|n!m*=n赋值表达式的类型是左值在不同类型操作数组成的表逗号表达式的类型是最后一个表达a+b>>3++a+b++b+(a=3)*#:必须为.h不能用.h必须是.c整常量表达式任何标识符任意表达式只能是常量只能是整型量只能是整型表达式;a=17x+y5610150150110switch ( a ) { case a : switch ( a+b ) {case l: a+b ;switch ( a*a ) {case l 循环体中可以出现break 语循环体中还可以出现循环语句循环体中不能出现goto语break 语句可用于if 体内break 语句可用于循环体内break 语句可用于开关语句中,它开关语句中default 子句可开关语句中每个语句序列中必须有开关语句中default 子句if 语句中if 体内不能是if 语句中只有一个else 子if 语句中可以有多个else if 子void任意int函数的类型函数参数类型和名字函数名字函数返回值表达式类型与函数返回值的类型是在定义函数返回值的类型就是返回值表达被调用函数中,如果有返回被调用函数中可以不用retu被调用函数中可以使用多个retur形参是指针,实参是地址值形参和实参都是变量形参是数组名,实参是数组形参和实参类型任意,个数相实参和形参对应的类型一实参和形参类型都完全一致,个数设置参数默认值时,应该是不允许设置参数的默认值设置参数默认值只能在定义函数时参数个数参数的类型参数的顺序函数形参语句标号外部静态类标识符register auto externregister 类外部static 类auto 类外部类自动类内部静态类内联函数重载函数递归调用实现共享减少空间提高速度strlen ( )strcpy ( )strcat ( )public private protected构造函数析构函数友元函数标识作用域的级别指出作用域的范围给定作用域的大小构造函数的函数名与类名相构造函数可以重载构造函数可以设置默认参一个类中只能定义一个析构析构函数名与类名不同析构函数的定义只能在类某个对象名某个对象的成员名某个对象的引用成员函数一定是内联函数成员函数可以重载成员函数可以设置默认值引用静态数据成员时,可在说明静态数据成员时前面要静态数据成员要在类体外进行初始提高程序的运行效率加强类的封装性实现数据的隐藏性A *p int A::*pc=&A::a void A::*pa()用来表示指向对象指针的使用对象指针通过指向成员使用对象通过指向成员的指针表示p=f1p=A::f1p=A::f1()A1.p=5A1->p=5A1.*p=5指向类A的指针为a将a的地址值赋给变量Set a是类A 的对象引用,用来对象数组的数组名是一个常量指针对象数组的每个元素是同对象数组的下标是从0开始的int *p[5]int (*p)[5](int *)p[5]指向字符常量的指针指向字符的常量指针指向字符串常量的指针void print() const const void print()void const print()使用它创建对象时要调用它可以用来动态创建对象和使用它创建的对象或对象数组可以它必须用于new返回的指针它也适用于空指针对一个指针可以使用多次不带参数的构造的构造函数带有一个参数的构造函数带有两个以上参数的构造定义类模板时只允许有一类模板的成员函数可以是函类模板生成模板类时,必须指定参一个派生类可以作为另一个派生类至少有一个基类派生类的成员除了它自己公有继承的公有成员公有继承的私有成员公有继承的保护成员基类的构造函数派生类中子对象的初始化派生类中静态数据成员的在公有继承下,派生类是基子类型就是指派生类是基类一种类型当它至少提供了另一种类公有继承下,派生类对象可赋值兼容规则在子类型情况公有继承下,派生类对象不可给基一个派生类的两个基类中都解决二义性的最常用的方法是对成基类和派生类中同时出现简化程序消除二义性提高运行效率与虚基类下面的派生类个数多次二次多态性是指同名函数对应多多态性表现为重载和覆盖两种方式重载方式仅有函数重载成员函数非成员函数构造函数&&[]::运算符重载可以改变操作符运算符重载可以改变优先级运算符重载可以改变结合动态联编是以虚函数为基础动态联编是在运行时确定所调用的动态联编调用函数操作是虚函数是一个静态类型的成虚函数是一个非成员函数基类中说明了虚函数之后纯虚函数是一种特殊的虚函抽象类是指具有纯虚函数的类抽象类可以定义对象可以说明虚函数可以进行构造函数的重载可以定义友元iostream.h fstream.h stdio.hiostream.h fstream.h iomanip.hcout<<pa;cout<<*pa;cout<<&pa;D答案Ada C对象之间通过消息进行通信AC++和C 语言都是面向对象的D数字字符A;C8A float D OxAE C3E-5A\a'C "ABC\0 "AA+a A2C2C char s4[2][3]={ "xyz","mnp"}A3DDpa是一个具有5个元素的指针数组,每个两个指针在一定条件下,可以相加D*(&a[0][0]+2)A float &t=&m;A&A~D*=B!=A单目C---a+b Dm=5,n=3.1,m+n D在由低向高的类型转换中是保值映射A (a=3)-a--D/B不一定是.h D被定义的宏名A可以是任意表达式D cout<<"\n"A无限B无限A无限D无限DA switch ( a/10+b ) {case 5:a/5; br 循环体中可以出现开关语句CC break 语句在一个循环体内可以出现多A开关语句中case 子句后面的表达式可if 语句的if 体中可以是循环语句C无A返回值表达式D函数返回值类型决定了返回值表达式的BD被调用函数中,一个return 语句可返回形参是引用,实参是变量D实参和形参对应的类型一致,个数任意CC设置参数默认值时,应该全部参数都设函数的类型D自动类标识符C static A函数形参B寄存器类C嵌套调用A使用方便,提高可读性D strcmp ( )C friend A复制构造函数C标识某个成员是属于哪个类的D构造函数必须指定类型说明D析构函数可以有一个或多个参数A某个对象的指针名C成员函数可以是静态的A静态数据成员不是所有对象共用的D增强成员函数的种类AA *pp C用来表示对象成员的运算Ap=f1()B*A1.p=5CC变量A与a按位相与作为函数Set()的参对象数组只能赋初值,而不能赋值D int *p[]B指向字符串的常量指针C void print (const)AD使用它创建对象数组时必须指定初始值C指针名前只用一对方括号符,不考虑所默认构造函数B类模板所描述的是一组类C派生类中继承的基类成员的访问权限到D私有继承的仍有成员A派生类中一般数据成员的初始化C子类型关系是不可逆的AB公有继承下,派生类对象的地址值可以一个派生类是从两个基类派生来的,而C减少目标代码B一次D重载方式包含函数重载和运算符重载C析构函数D new C运算符重载不可以改变语法结构D动态联编是在编译时确定操作函数的DC派生类的虚函数与基类的虚函数具有不C抽象类只能作为基类来使用,其纯虚函不能说明其对象D stdlib.h B stdlib.h C cout<<long(&pa)D。