ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:46.11KB ,
资源ID:3025535      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3025535.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++语言程序设计复习.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C++语言程序设计复习.docx

1、C+语言程序设计复习C+程序复习题一.选择题(每题2分,共40分)1.C+规定,在一个源程序中,main()函数的位置( )。 A.必须在最开始 B.必须在最后 C.可以任意 D.必须在系统调用的库函数的后面2.以下( )是C/C+合法的标识符。 A.char2 B.x C.int D.7Bx3.下面的程序,对于输入:2 9 15,输出的结果是( )。 #include void main() int a; float b; cout”input a,b”ab; cout”a+b=”a+bendl; A.2 B.11 C.26 D.244.下面关于编译预处理命令的说法中,正确的是( )。 A.

2、一条文件包含命令能包含多个文件 B.文件包含命令不可以嵌套使用 C.编译预处理命令是在编译之前被处理的命令 D.编译预处理命令中的“#”可以省略5. 在以下关于C+语言的叙述中,正确的是( )Aif语句结构中必须有else语句Bswitch语句结构中必须有default语句CC+程序必须有return语句DC+中使用流来执行标准的输入输出操作6.下列不正确的变量定义方法是( )。 A.int a,&b=a; B. float a,*b=&a; C.int a(4),b(0); D. int a=b=5;7.下列运算符优先级按由高到低的顺序排列正确的是( )。 A.*=. &.!=.% B.*=

3、. %. &. !=C.%. != .& .*= D. &. !=. %.=8.已知x,y为整型,z为实型,ch为字符型,下列表达式中合法的是( ) A.z=(y+x)+ B.x+y=z C.y=ch+x D.y=z%x9.若有变量定义”int a=7;”,则下列语句组对应的输出结果是( ) switch(a%5) case 0: couta+; case 1: cout+a; case 2: couta-; case 3: cout -a; default:cout”其它值”; A.其它值 B.5 C.7 D.75其它值 10.执行下列程序段后,变量K的值为( ) for(k=0,m=1;m

4、4;m+) for(n=1;nc,c!=n) coutc+2; A.222 B. CDE C.676869 D.33312.以下不能对二维数组a初始化的语句是( ) A.int a2=1,2; B.int a23=1,2,3,4,5,6;C.int a23=1; D.int a23=1,2;13.已知有语句“int a34=1,2,5,3,2,4,7,9,3,6,5,8,*p=&a00;”,则表达式(*p+2)+*(p+2)的值应为( )。 A.10 B.5 C.6 D.814.要比较两个字符数组a,b中字符串是否相等,下面正确的是( )。 A.a=b B. strcmp(a,b)=0 B.s

5、trcpy(a,b) D.strcmp(a,b)=015.若函数的类型和return语句中的表达式类型不一致,则( ) A.编译时出错 B.运行时出现不确定结果 C.不会出错,且返回值的类型以return语句中表达式的类型为准 D.不会出错,且返回值的类型以函数类型为准。16.下面函数说明正确的是( ) A.void f1 (int a=3,int b,int c); B.void f2 (int a,int b=3,inc c); C.void f3(int a,int b,int c=3); D.void f4(int a,int b,int 3);17.下面程序的输出结果是( ) #in

6、clude int m=10; void f(int m,int &n) m=m+2;n=n+2; void main() int n=5; f(m,n); cout”m=”m”n=”ngetname()21.C+源程序文件的扩展名为( ) A.CPP B.C C.DLL D.EXE22.以下( )是C+合法的表达式 A. a=1,a+ B. (x+y)+ C. a+b=c D. 12.25%1023.以下程序的输出结果是:( )#include int fun(char *s) char *p=s; while (*p!=0) p+; return (p-s); void main() co

7、utfun(abc)endl; A.0 B.1 C.2 D.324.下面叙述中正确的是( )A.for循环只能用于循环次数已经确定的情况B.for循环同do-while语句一样,先执行循环体再判断C.不管哪种形式的循环语句,都可以从循环体内转到循环体外D.for循环体内不可以出现while语句25.使用( )可以设置数据输出的宽度。 A.setbase(int n) B.setw(int n) C.setfill(int n) D.setprecision(int n)26.在int a3=1,3,2,4,5,6,0中,a22的值是( )A.3 B. 2 C.6 D.427.下面正确定义数组的

8、语句是( ) Aint x2=2,1,3,2 B. int x=2,1,3,2C. int x2=2,1,3,2 D. int x2,2=2,1,3,228.已知 char c; const char *pc=asdf;( )是正确的。A.pc=dfgh B.*pc=b C.*pc+=y D.pc=&c29.若有变量定义”int a=7;”,则下列语句组对应的输出结果是( ) switch(a%5) case 0: couta+; case 1: cout+a; case 2: couta-; case 3: cout -a;break; default:cout”其它值”; A.5 B.7

9、C.75 D.75其它值 30.以下程序段的输出结果是( ) for(i=4;i=10;i+) if(i%3=0) continue; couti; A.45 B. 457810 C.69 D.678910 31.执行下列语句后的输出结果是()。int hot=10;int &rad=hot;hot+=10;coutradendl; A.0 B.20 C.10 D.3032.若用数组名作为函数调用的实参,传递给形参的是 。 A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数33.定义如下变量和数组: int i; int x33=1,2,3,4,5,6,7,8

10、,9; for(i=0;i3;i+) coutxi2-i; 则下面语句的输出结果是( )。 A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 934.将两个字符串连接起来组成一个字符串时,选用的函数是 。 A. strlen() B. strcap() C. strcat() D. strcmp()35.若有以下程序段: int x12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g;则数值为4的表达式是( )。 A. xg-c B. x4 C. xd-c D. xd-c36.若函数的调用形式如下:f(x1,x2,x3),(y1,y2)则函数形参个数

11、是( )。A. 2 B. 3 C.4 D. 537.有如下程序#include#includeusing namespace std;int main()coutsetprecision(3)fixedsetfill(*)setw(8);cout 12.345 34.567;return 0;若程序的输出是:*12.345*34.567则程序中下划线处遗漏的操作符是_。A.setprecision(3) B.fixed C.setfill(*) D.stew(8)38.在私有继承中,基类的公有成员将成为其派生类的( )。 A.公有 B.保护 C.私有 D.不能访问39.下列哪个不是成员访问限定

12、符 。A.public B.protected C.private D.static40在下面关于函数的描述中错误的是( )A在一个源文件中,如果函数定义在先,调用在后,则不必声明该函数B如果一个函数在一个源文件里定义,而调用在另一个源文件中,则必须在调用之前声明该函数C函数的声明应使用函数原型D在一个源文件中,如果自定义函数调用在先,定义在后,则不必声明该函数41. 若有int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*q)4=a;*q=a0;则能够正确表示数组元素a12的表达式是( )。 A. *(*q+1)2 B. *(*(q+5) C. (*q+1)+

13、2 D. *(*(q+1)+2)42. 类是C+中的一种新的数据类型,下列有关类的说法不正确的是( )。A. 类是一种用户自定义的数据类型 B. 只有类中的成员函数才能存取类中的私有成员C在类中,如果不做特别说明,所指的数据均为私有类型D. 在类中,如果不做特别说明,所有的成员函数均为公有类型43.设int x=1,3,5,7,9,11,13,*p=x;则不能正确引用数组元素的表达式是( ) A.*(p-) B. *(-p) C.*(p+) D.*(+p)44. 执行下面程序段后,a的值为( )。int a,b;for(b=1,a=1;b=10) break; if (a%2= =1) a+=

14、5; continue; a-=3; A. 2 B. 6 C. 10 D. 845. 在下面的引用定义中,正确的是( )。A. int x,&y; y=x; B. int x,&y=x; C. int &y=x,x; D. float z; int x,y=&z;46.下面对模板的声明正确的是_( ).A. template B. Template C. Template D. Template 47. 已知一个类A的定义如下,则执行“ A x(3);”语句后,x.a和x.b的值分别为( ) class A int a,b; public: A(int aa=1,int bb=0) a=aa;

15、b=bb;A. 1和0 B. 3和0 C. 1和3 D. 3和048C+源程序文件的扩展名为( )A. .CPP B. .OBJ C. .C D. .EXE 49. 下列变量名中,( )是合法的。A. double B. A+a C. CHINA D. 5S50.下列符号能用作C+标识符是的( )。A. xyz/2 B. 2xsale C. x-sale D. x_sale51.( )不是C+的基本数据类型。A字符类型 B数组类型 C整数类型 D布尔类型52下列运算符中优先级最高的是( ) A% B( ) C! D/53字符串常量“ME”的字符个数是( )。 A4 B3 C2 D 154在C+

16、语言中,080是( ) A八进制数 B十进制数 C十六进制数 D非法数55整型变量i定义后赋初值的结果是( )。int i=2.8*6;A12 B16 C17 D1856如有int m=31;则表达式(m+*1/2)的值是( )A0 B15 C15.5 D1657在C+语言中,自定义的标识符( )A能使用关键字并且不区分大小写B不能使用关键字并且不区分大小写C能使用关键字并且区分大小写D不能使用关键字并且区分大小写58下列C+标点符号中表示一条语句结束的是( )A# B/ C D;59. 下列C+标点符号中表示一条预处理命令开始的是( )A# B/ C /* D & 60定义如下变量:int

17、i=2;int j=3;则i/j的值是( )A0.7 B 0.66667 C 0.66666. D 061已知int a=2,a+=a-=a*a的值是( )。A-4 B-2 C0 D 4 62语句n1=2,n2=+n1,n1=n2+;执行后变量n1,n2的值分别为( )A3,4 B3,3 C 2,3 D 2,4 63下列程序段执行后输出结果为( )char a=a; cout”a=”a-32endl;Aa=A Ba=33 C a=65 D a=A-3264for(i=0,x=0; !x&i=3;i+)循环的次数为( )A4 B5 C1 D 无限循环 65若有如下程序段: int a=2,b=-

18、1,c=2; if (ab) if (b0) c=0; else c+=1; cout”c=”cendl;执行后输出结果是( )A2 B1 C 3 D 0 66有如下程序段:int i=10;switch(i) case 9: i+;case 10: i+; case 11: i+; default: i+;执行后输出结果是( )A11 B 12 C 13 D 14 67下列描述正确的是( )Abreak 语句与continue语句完全一样,可以相互代替。B用break语句可以提前终止整个循环C用continue语句可以提前终止整个循环D用break 语句与continue语句都不能提前终止整

19、个循环68以下for循环的执行次数是( )for (x=0,y=0 (y=123)&(x2); x+)A执行1次 B执行2次 C执行3次 D 无限次 69为了避免嵌套的ifelse语句的二义性,C语言规定else总是与( )A缩排位置相同的if B在其之前未配对的ifC在其之前未配对的最近的if D同一行上的if70break语句的作用是( )A立即跳出包含该break 语句的所在层的循环语句和switch语句B立即跳出包含该break 语句的最小的各种循环语句C立即跳出包含该break 语句的switch语句 D立即跳出包含该break 语句的各层循环语句和switch语句71下面程序段执行

20、完后,x 的值是( ) x=0;for (i=0; i90; i+) if (i) x+;A0 B30 C89 D 9072continue语句的作用是( )A结束包含该continue语句的最小的各种循环语句B结束包含该continue语句的各种循环语句C结束本次循环,直接进行循环条件的判断D循环执行完后,结束循环73下列程序段循环( )次int x=-10;while (+x) A9 B10 C11 D无限74有如下程序段:.for (int i=1; i4; i+) if (i%2=0) continue; couti”,” ;执行以下程序段的输出结果是( )。A1 B1,3,4 C1,

21、3, D 2,475用逻辑表达式表示“大于10而小于20的数”,正确的是( )A10x10| x10&x20 D!(x=20)76如果switch语句中的选择表达式是字符型变量code,下面哪一项case子句是合法的( )Acase “3” : Bcase 3: Ccase 3 : D case=3:77设int a=10,b=11, c=12 ; (a+b)0的值为( )。Atrue Bfalse C与n的值相反 D与n的值相同80下列do while循环的循环次数是( ) int i=5; do couti-n; int an Dconst int n=10;int an;88下面数组定义

22、错误的是( )A#define n 5char an=“good” B const int n=5;char an=“good” C int n=5;char an=“good”;Dconst int n=5; char an+2=“good”;89执行下列语句:int c4=0,1,2,3; for(int i=0;i4;i+) ci=ci+i;则 c3的值是( )。 A0 B4 C6 D890数组int area4=1,2,3,4;执行程序for (int i=1;i=4;i+) areai-1=1;那么area4的值是( )。A4 B3 C1 D不确定值91对字符数组进行初始化,下列语句正确的是( ) Achar a=”abcd”; Bchar a=”abcd”; Cchar a4=”abcd”; Dchar a22=“ab”,”cd”;92下列关于指针运算的描述错误的是( )A指针变量是用于存储变量地址的变量B指针变量是用于存储变量值的变量C在一定条件下,指针变量可以为空值D可以使用指针变量来访问数组 93若已经定义了a为int 型变量,则对指针变量p的定义及初始化正确语句是( )。Aint *p=a; Bint p=a; Cint *p=*a; D

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2