




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。C+基础、运算符与表达式、控制结构习题一、 填空题1. 面向对象编程三个特性:_、_ 、_。 答案:封装性、继承 、多态2. C+中使用_作为标准输入流对象,通常代表键盘,与提取操作符_连用;使用_作为标准输出流对象,通常代表显示设备,与_连用。答案:cincout3. cout是_类的对象。答案:ostream4. cin是_类的对象。答案:istream5. C+程序是从_函数开始执行的。答案:main6. _是计算机直接理解执行的语言,由一系列_组成,其助记符构成了_;接近人的自然语言习惯的程序设计语言为_。答案:机器语言二进制指令汇编语言高级语言7. _方法的主要内容有:自顶向下、逐步求精;_方法将现实世界中的客观事物描述成具有属性和行为的_,抽象出共同属性和行为,形成_。答案:结构化程序设计面向对象程序设计对象类8. C+程序开发通常要经过5个阶段,包括_、_、_、_、_。答案:编辑 编译连接运行调试9. 对象与对象之间通过_进行相互通信。答案:消息10. _是对具有相同属性和行为的一组对象的抽象;任何一个对象都是某一个类的实例。答案:类11. _是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。答案:多态性12. 面向对象的软件开发过程主要包括_、_、_、_、_。答案:面向对象的方法分析面向对象的设计面向对象的编程面向对象的测试面向对象的维护13. _是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程序。答案:泛型程序设计14. #include 是一条预处理指令,在_时由_执行,其功能是_。答案:编译(或预处理)编译器(或预编译器)将iostream文件包含(复制)到指令处15. 将以下程序写成三目运算表达式是 。if(ab)max = a;elsemax = b;答案:max =ab?a:b;16. 字符串“Hello”的长度是_个字节,存储时占有_个字节的空间。答案:5617. 如果x的值为34,y的值为7,则执行int x=34,y=-7;if(x0) coutA;if(y-8) cout=10047. 下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。#includevoid main() int x=5,y=8,z=9, u, v; if( (1) ) u=x;else u=y;if( (2) ) v=u;else v=z;cout”v=”vy (2) uz分析:本程序首先找出x和y中较大的数放入变量u中,再将u 与z 做比较,其中较大者放入变量v中,为三个数中的最大值。48. 有以下程序段:int n=0;while(n=1)n+;while循环执行次数是_。答案:为无限次。分析:要注意”=”和”= =”的区别,”=”是赋值运算符,”= =”是关系运算符“等于”。这里while(n=1)永远为1,为真值,则答案为无限次。49. 计算120之间偶数之和,请填充:#includevoid main()int a,i;a=0;for(i=0; (1) ;i+=2) a+=i; (2) ; cout”偶数之和为:”aendl;答案:(1)i=20或i21 (2) 50. 下面程序运行结束后,k的值为_。#includevoid main()int i,j,k;for(i=0,j=10;i=j;i+,j-) k=i+j;countk;答案:10。分析:在程序中每循环一次,变量i+1,而变量j-1,i+j之和保持不变为10,直到循环结束。51. 下面程序是输出100以内能被7整除且个位数是4的所有整数,请填空:#includevoid main()int i,j;for(i=0; (1) ;i+) j=i*10+4; if( (2) ) continue; (3) coutjendl; 答案:(1)i=9或i10 (2)j%7!=0 (3)else分析:由题目可知判断100以内的数,故i变量的终值应为:i=9或i0;答案:C8. 流程控制语句的基本控制结构有三种,不属于这一种结构的是_。A.顺序结构B.选择结构C.循环结构D.计算结构答案:D9. 程序设计的三种基本结构是_。A.过程、子过程和分程序B.顺序、选择和循环C.递归、堆栈和队列D.调用、返回和转移答案:B10. 关于break语句的叙述不正确的是_。A.break语句可用在循环体中,它将使执行流程跳出本层循环体B.break语句可用在switch语句中,它将使执行流程跳出当前的switch语句C.break语句可用在if语句中,它将使执行流程跳出当前的if语句D.break语句在一层循环体可以出现多次答案:C11. 如下序列语句:#include #include void main() int k=0; do k+=5; cout $; while(k0) cout *;执行上面的语句序列输出字符$和*的个数分别是_。A.4和20B.5和20C.4和21D.5和21答案:A12. 有以下程序:#include #include void main() int x=15; while(x10&x50) x+; if(x/3) x+; break; cout x endl;A.15B.16C.17D.18答案:C13. 阅读下面的程序:#include #include void main() int x; cin x; if(x+5) cout x endl; else cout x- endl; A.4,6B.3,6C.4,7D.5,7答案:D14. 下列程序的运行结果为 。#include #include void main() int a = 2; int b = a + 1; cout a/b endl; A.0.66667B.0C.0.7D.66666666答案:B15. 下列for语句的循环次数为 。for(int i=0,x=0;!x & i=5;i+)cout Hello Y&XY的值相同 D. 与X=Y的值相同答案:B17. 下列十六进制的整型常数表示中, 是错误的A.0xafB.0X1bC.2fxD.0XAE答案:C18. 预处理命令在程序中都是以 开头的。A. *B. # C. :D. /答案:B19. 将两个字符串连接成一个字符串时,选用 函数。A. strlenB. strcpyC. strcatD. strcmp答案:C20. 执行bool OK=2!=3; coutOK;后,显示在屏幕上的是 。A. true B. falseC. 1 D. 0答案:A21. 若w是一个bool型变量,则w | 5的值是 。A. true B. falseC. 与w的值相同 D. 与!w的值相同答案:A22. 下列while循环的次数是 。while (int i=0) i-;A. 0 B. 1C. 5D. 无限答案:A23. 下述关于break语句的描述中, 是不正确的。A. break语句可用于循环体内,它将退出该循环B. break语句可用于switch语句中,它将退出switch语句C. break语句可用于if体内,它将退出if语句D. break语句在一个循环体内可以出现多次答案:C24. 面向对象的 是一种信息隐蔽技术,目的在于将对象的使用者与设计者分开。不允许使用者直接存取对象的属性,只能通过有限的接口与对象发生联系。A多态性 B封装性C继承性 D重用性答案:B25. C+的合法注释是 。A/*This is a C program/* B/ This is a C programC “This is a C program” D/This is a C program/答案:B26. 下面标识符中正确的是 。A_abc B3ab C int D+ab答案:A27. 下列标识符中, 是合法的。A goto BStudent C 123 Dkld答案:B28. C+语言中语句的结束符是 。A , B ; C 。 D 、答案:B29. C+语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符 。A必须为字母 B必须为下划线 C必须为字母或下划线 D可以是字母、数字和下划线中任一中字符答案:C30. 下面正确的字符常量是 。 A“C” B CW D答案:C31. 如果说明语句:char c=72;则变量c 。A包含1个字符 B包含2 个字符C包含3个字符 D说明不合法,c 的值不确定答案:A32. 表达式18/4*sqrt(4.0)/8值的数据类型为 。 Aint Bfloat Cdouble D不确定答案:C33. 设 int m=7,n=12;则表达式为3的是 。An%=(m%=5) Bn%=(m-m%5)Cn%=m-m%5 D(n%=m)-(m%=5)答案:D34. 有如下程序段: int a=14,b=15,x; char c=A; x=(a&b)&(cb)&(n=cd)后n的值为 。 A1 B2 C3 D4答案:B42. 用C+的语言表达式表示 |x3+log10x|的正确是 。Afabs(x*3+log(x) Babs(pow(x,3)+log(x)Cfabs(pow(x,3.0)+log(x) Dabs(pow(x,3.0)+log(x)答案:C43. 设int k=7,x=12;则能使值为3的表达式是_。Ax%=(k%=5) Bx%=(k-k%5)Cx%=k-k%5 D(x%=k)-(k%=5)答案:D44. 设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。A2.500000 B2.750000 C3.500000 D0.000000答案:A45. 设有语句int x=3,y=4,z=5;则下面表达式中值为0的是 。 Ax&y Bx=y Cx|y+z&y-z D!(xy)& !z | | 1)答案:D46. 判断char型变量n是否为小写字母的正确表达式为 。Aa= n =a)&(n=n)| |(z=a)&(n=中,优先级最高的运算符是_。A+ B= C* D=答案:C分析:根据C+语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、=、+、*。48. 下列说法正确的是_。Acouta+&cd)?+d:a=y&chB&!y)的值是_。A0 B语法错 C1 D“假”分析:根据C+语言中运算符优先级的高低,“!”运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换为:1&1&1,结果为1。答案:C。53. 下列数据类型不是C+语言基本数据类型的是_。 A.字符型 B.整型 C.实型 D.数组答案:D54. 在C+语言中,080是_。A. 八进制数 B.十进制数 B. C.十六进制数 D.非法数答案:B55. 下列字符列中,可作为C+语言程序自定义标识符是_。 A.switch B.file C.break D.do 答案:B56. 运算符 +、=、=、% 中,优先级最低的运算符是_。A. + B.= C.= D.% 答案:C57. 下列字符列中,可以作为“字符串常量”的是_。 A. ABC B.xyz C.uvw D. a 答案:B58. 字符串”vmx43np102q”的长度是_。A. 8 B. 10 C. 17 D. 16 答案:A59. 在C+语言中,自定义的标识符_。A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写 D.不能使用关键字并且区分大小写答案:D60. 设有代码“int a = 5;”,则执行了语句“a + = a - = a*a;”后,变量a的值是_。A.3 B. 0 C. -40 D. 12答案:C61. 设a为5,执行下列代码后,b的值不为2的是_。A. b = a/2 B. b = 6-(-a) C. b = a%2 D. b = a abmn;则下列输入数据的方式中正确的是( )。A10,20,X,Y B1020 XYC10 20 X Y D10、20、X、Y答案:C分析:C+语言没有专门的输入/输出语句,其输入/输出是通过输入/输出流来实现的。用cin输入时,空格和回车键均可作为输入字符之间的分隔符,逗号不能作为分隔符。字符型变量只能容纳一个字符。65. 以下不正确的语句是( )。Aif(xy); Bif(x=y)&(x!=0) x+=y;Cif(x!=y)cinx;else ciny;Dif(xy) x+;y+;答案:B 分析:if语句后面的表达式必须放在括号内“()”,且不能使用赋之值运算符。在if和else后面用花括号“”括起来的多个语句成为了一个复合语句。66. 下面程序的输出结果是( )。 #includevoid main() int a=6,b=6; if(a5)a-=1;b+=1; elsea+=1;b-=1; cout”a=”aendl; cout”b=”b;A5 Ba=5 Ca=5 D编译时出错 7 b=7 b=6答案:D 分析:在ifelse语句的中间应为单条语句或复合语句,不能为多条语句。67. 对while、dowhile循环结构,下面说法正确的是( )。 A只是表达形式不同Bdowhile结构中的语句至少执行一次Cwhile结构中的语句至少执行一次D条件成立时,它们有可能一次也不执行答案:B分析:要知道while、dowhile两种循环结构的区别在于:while循环是先判断条件是否成立,成立时才执行,而dowhile是先执行再判断,它至少执行一次。68. 以下不正确的是( )。A语句for(i=0;i+)表示无限循环 Bfor(;)表示无限循环Cfor()也表示无限循环 Dwhile(1)表示无限循环答案:C分析:for循环语句中的表达式可以省略,但分号不可省略。69. 下面循环体的执行次数为( )。#includevoid main() int a,b; for(a=0,b=5;a=b+1;a+=2,b-) couta=b.70. 对中断语句的说法下面不正确的是( )。A用户可以指定中断的位置B用户可以指定转移的位置Cbreak语句可以跳出本循环Dcontinue语句可以结束本次循环答案:B 分析:不论break语句还是continue语句转移的位置是根据程序默认的,不用人为的设置。71. 下列函数的功能是( )。#includevoid main() char a; int i; cina; for(i=1;i=a)&(a=z) a=a-i; couta; A 把a中的小写字母变成大写字母 B 把a中的小写字母变成大写字母C把a中的所有字母变成小写字母 D把a中的字母变成它前面i个的字母答案:D分析:本题要求判断程序的功能,可以用列举法判断其gon功能,例设a=f,则程序结果为edcba,本程序仅对在小写字母az之间的字母起作用。72. putchar函数可以向终端输出一个( )。A整型变量表达式值 B实型变量值C字符串 D字符或字符型变量值答案:D73. int k=10; while(k=0) k=k-1;则下面描述正确的是( )。Awhile循环执行10次 B循环是无限循环C循环体语句一次也不执行 D循环体语句执行一次答案:C74. int x=0,s=0; while(!x!=0) s+=+x;couts;则( )。A运行程序段后输出0 B运行程序段后输出1C程序段中的控制表达式是非法的 D程序段执行无限次答案:B75. int x=0,y=0; while(x15) y+,x+=+y; couty”,”x;则运行结果为( )。A20,7 B6,12 C20,8 D8,20答案:D76. int a=1,b=2,c=2; while(abc) t=a;a=b;b=t;c-; couta”,”b”,”c;运行结果为( )。A1,2,0 B2,1,0 C1,2,1 D2,1,1答案A77. int x=-1;do x=x*x;while(!x);下列说法正确的是( )。A是死循环 B循环执行两次C循环执行一次 D有语法错误答案:C78. 以下能正确计算1*2*3*10的程序段是( )。Ado i=1;s=1; Bdo i=1;s=0;s=s*i; i+; s=s*i;i+;while(i=10); while(i=10);C i=1;s=1; Di=1;s=0;do s=s*i; dos=s*i;i+; i+;while(i=10); while(i=10);答案:C79. 以下描述正确的是( )。A由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句Bdo-while循环由do开始,用while结束,在while(表达式)后面不能写分号C在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作Ddo-while循环中,根据情况可以省略while答案:C80. C+语言中while和do-while循环的主要区别是( )。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句答案:A81. 下面有关for循环的正确描述是( )。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用大括号括起来答案:D82. 对for(表达式1; ;表达式3)可理解为( )。A for(表达式1;0;表达式3) B for(表达式1;1;表达式3)Cfor(表达式1;表达式1;表达式3) Dfor(表达式1;表达式3;表达式3)答案:B83. for(i=2;i= =0;) printf(“%d”,I-); 循环执行的次数是( )。A无限次 B0次 C1次 D2次答案:B84. 下面程序段的运行结果为( )。for(y=1;y10;) y=(x=3*y,x+1),x-1);cout“x=”x”y=”+y;x=I+) I=x; Bfor( ; ;x+=I);Cwhile(1)x+; Dfor(I=10; ;I-) sum+=I;答案:A86. 下面程序的运行结果是( )。#includeviod main( )int i,b,k=0; for(i=1;i=0) k+; coutk”,”b; A3,-1 B8,-1 C3,0 D8,-2答案:D87. 以下正确的描述是( )。Acontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循坏体内使用break语句或continue语句的作用相同D从多层循环嵌套中退出,只能使用goto语句答案:B88. 下面程序段( )。for(t=1;tx; if(x0) continue; coutt;A当x=0时什么也不输出Ccout永远也不执行 D最多允许输出100个非负整数答案:D89. 下面程序段( )。x=3;do y=x-; if(!y) cout”x”; continue; cout”#”; while(1=x=2);A将输出# B将输出#*C是死循环 D含有不合法的控制表达式答案:C90. 下面程序的运行结果是( )。#includevoid main()int a,b; for(a=1,b=1;a=20) break; if(b%3= =1) b+=3;continue; b-=5;coutaendl; A7 B8 C9 D10答案:B91. 下面程序段的运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职场压力管理与心理调适
- 数字化时代的企业运营流程再造
- 职业生涯中的挫折与应对策略
- 公积金卖房合同模板5篇
- 智慧城市与未来生活
- 2025演唱会投资合同8篇
- 桌游店租赁合同6篇
- 2025年合作经营公司合同6篇
- 商用二手房买卖合同6篇
- 水路装修工程协议
- 第二单元“中华传统文化经典研习”说课稿 2024-2025学年统编版高中语文选择性必修上册001
- 2024年德州市人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 订单与合同管理制度
- 【MOOC期末】《英美文学里的生态》(北京林业大学)期末中国大学慕课MOOC答案
- 外科患者疼痛护理与管理
- 《家校社协同育人“教联体”工作方案》专题培训
- 2024年六西格玛黄带认证考试练习题库(含答案)
- 儿童牙齿分龄护理方案
- 2023-2024学年广东省深圳市宝安区七年级(下)期中英语试卷
- DB43T 2558-2023 城镇低效用地识别技术指南
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
评论
0/150
提交评论