C++基础习题.doc

上传人:w****2 文档编号:6564963 上传时间:2020-02-29 格式:DOC 页数:103 大小:214KB
返回 下载 相关 举报
C++基础习题.doc_第1页
第1页 / 共103页
C++基础习题.doc_第2页
第2页 / 共103页
C++基础习题.doc_第3页
第3页 / 共103页
点击查看更多>>
资源描述
C+基础、运算符与表达式、控制结构习题一、 填空题1. 面向对象编程三个特性:_、_ 、_。 A 答案:封装性、继承 、多态2. C+中使用_作为标准输入流对象,通常代表键盘,与提取操作符_连用;使用_作为标准输出流对象,通常代表显示设备,与_连用。B 答案:cincout3. cout是_类的对象。C 答案:ostream4. cin是_类的对象。D 答案:istream5. C+程序是从_函数开始执行的。E 答案:main6. _是计算机直接理解执行的语言,由一系列_组成,其助记符构成了_;接近人的自然语言习惯的程序设计语言为_。F 答案:机器语言二进制指令汇编语言高级语言7. _方法的主要内容有:自顶向下、逐步求精;_方法将现实世界中的客观事物描述成具有属性和行为的_,抽象出共同属性和行为,形成_。G 答案:结构化程序设计面向对象程序设计对象类8. C+程序开发通常要经过5个阶段,包括_、_、_、_、_。H 答案:编辑 编译连接运行调试9. 对象与对象之间通过_进行相互通信。I 答案:消息10. _是对具有相同属性和行为的一组对象的抽象;任何一个对象都是某一个类的实例。J 答案:类11. _是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。K 答案:多态性12. 面向对象的软件开发过程主要包括_、_、_、_、_。L 答案:面向对象的方法分析面向对象的设计面向对象的编程面向对象的测试面向对象的维护13. _是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程序。M 答案:泛型程序设计14. #include 是一条预处理指令,在_时由_执行,其功能是_。N 答案:编译(或预处理)编译器(或预编译器)将iostream文件包含(复制)到指令处15. 将以下程序写成三目运算表达式是 。O if(ab)max = a;P 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三个数中的最大值,请填入正确的内容。XX #includeYY void main()ZZ int x=5,y=8,z=9, u, v;AAA if( (1) ) u=x;BBB else u=y;CCC if( (2) ) v=u;DDD else v=z;EEE cout”v=”vy (2) uzHHH 分析:本程序首先找出x和y中较大的数放入变量u中,再将u 与z 做比较,其中较大者放入变量v中,为三个数中的最大值。48. 有以下程序段:III int n=0;JJJ while(n=1)n+;KKK while循环执行次数是_。LLL 答案:为无限次。MMM 分析:要注意”=”和”= =”的区别,”=”是赋值运算符,”= =”是关系运算符“等于”。这里while(n=1)永远为1,为真值,则答案为无限次。NNN 49. 计算120之间偶数之和,请填充:OOO #includePPP void main()QQQ int a,i;RRR a=0;SSS for(i=0; (1) ;i+=2)TTT a+=i;UUU (2) ;VVV cout”偶数之和为:”aendl;WWW XXX 答案:(1)i=20或i21 (2) YYY 50. 下面程序运行结束后,k的值为_。ZZZ #includeAAAA void main()BBBB int i,j,k;CCCC for(i=0,j=10;i=j;i+,j-)DDDD k=i+j;EEEE countk;FFFF GGGG 答案:10。HHHH 分析:在程序中每循环一次,变量i+1,而变量j-1,i+j之和保持不变为10,直到循环结束。IIII 51. 下面程序是输出100以内能被7整除且个位数是4的所有整数,请填空:JJJJ #includeKKKK void main()LLLL int i,j;MMMM for(i=0; (1) ;i+)NNNN j=i*10+4;OOOO if( (2) )PPPP continue;QQQQ (3) RRRR coutjendl;SSSS TTTT 答案:(1)i=9或i10 (2)j%7!=0 (3)elseUUUU 分析:由题目可知判断100以内的数,故i变量的终值应为:i=9或i0;答案:C8. 流程控制语句的基本控制结构有三种,不属于这一种结构的是_。FFFFF A.顺序结构B.选择结构C.循环结构D.计算结构答案:D9. 程序设计的三种基本结构是_。GGGGG A.过程、子过程和分程序B.顺序、选择和循环HHHHH C.递归、堆栈和队列D.调用、返回和转移答案:B10. 关于break语句的叙述不正确的是_。IIIII A.break语句可用在循环体中,它将使执行流程跳出本层循环体JJJJJ B.break语句可用在switch语句中,它将使执行流程跳出当前的switch语句KKKKK C.break语句可用在if语句中,它将使执行流程跳出当前的if语句LLLLL D.break语句在一层循环体可以出现多次答案:C11. 如下序列语句:MMMMM #include NNNNN #include OOOOO void main() PPPPP int k=0;QQQQQ doRRRRR k+=5;SSSSS cout $;TTTTT while(k0)VVVVV cout *;WWWWW XXXXX 执行上面的语句序列输出字符$和*的个数分别是_。YYYYY A.4和20B.5和20C.4和21D.5和21ZZZZZ 答案:A12. 有以下程序:AAAAAA #include BBBBBB #include CCCCCC void main() DDDDDD int x=15;EEEEEE while(x10&x50)FFFFFF x+;GGGGGG if(x/3)HHHHHH x+;IIIIII break;JJJJJJ KKKKKK LLLLLL cout x endl;MMMMMM NNNNNN A.15B.16C.17D.18OOOOOO 答案:C13. 阅读下面的程序:PPPPPP #include QQQQQQ #include RRRRRR void main() SSSSSS int x;TTTTTT cin x;UUUUUU if(x+5)VVVVVV cout x endl;WWWWWW elseXXXXXX cout x- endl; YYYYYY ZZZZZZ A.4,6B.3,6C.4,7D.5,7答案:D14. 下列程序的运行结果为 。AAAAAAA #include BBBBBBB #include CCCCCCC void main() DDDDDDD int a = 2;EEEEEEE int b = a + 1;FFFFFFF cout a/b endl; GGGGGGG HHHHHHH 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重用性IIIIIII 答案:B25. C+的合法注释是 。JJJJJJJ A/*This is a C program/* B/ This is a C programKKKKKKK C “This is a C program” D/This is a C program/LLLLLLL 答案:B26. 下面标识符中正确的是 。MMMMMMM A_abc B3ab C int D+abNNNNNNN 答案:A27. 下列标识符中, 是合法的。A goto BStudent C 123 DkldOOOOOOO 答案:B28. C+语言中语句的结束符是 。A , B ; C 。 D 、PPPPPPP 答案:B29. C+语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符 。QQQQQQQ A必须为字母 B必须为下划线 RRRRRRR C必须为字母或下划线 D可以是字母、数字和下划线中任一中字符SSSSSSS 答案:C30. 下面正确的字符常量是 。TTTTTTT A“C” B CW DUUUUUUU 答案:C31. 如果说明语句:char c=72;则变量c 。VVVVVVV A包含1个字符 B包含2 个字符WWWWWWW C包含3个字符 D说明不合法,c 的值不确定XXXXXXX 答案:A32. 表达式18/4*sqrt(4.0)/8值的数据类型为 。YYYYYYY Aint Bfloat Cdouble D不确定ZZZZZZZ 答案:C33. 设 int m=7,n=12;则表达式为3的是 。AAAAAAAA An%=(m%=5) Bn%=(m-m%5)BBBBBBBB Cn%=m-m%5 D(n%=m)-(m%=5)CCCCCCCC 答案:D34. 有如下程序段:DDDDDDDD int a=14,b=15,x;EEEEEEEE char c=A;FFFFFFFF x=(a&b)&(cb)&(n=cd)后n的值为 。ZZZZZZZZ A1 B2 C3 D4AAAAAAAAA 答案:B42. 用C+的语言表达式表示 |x3+log10x|的正确是 。BBBBBBBBB Afabs(x*3+log(x) CCCCCCCCC Babs(pow(x,3)+log(x)DDDDDDDDD Cfabs(pow(x,3.0)+log(x) EEEEEEEEE Dabs(pow(x,3.0)+log(x)FFFFFFFFF 答案:C43. 设int k=7,x=12;则能使值为3的表达式是_。GGGGGGGGG Ax%=(k%=5) Bx%=(k-k%5)HHHHHHHHH Cx%=k-k%5 D(x%=k)-(k%=5)IIIIIIIII 答案:D44. 设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。JJJJJJJJJ A2.500000 B2.750000 KKKKKKKKK C3.500000 D0.000000LLLLLLLLL 答案:A45. 设有语句int x=3,y=4,z=5;则下面表达式中值为0的是 。MMMMMMMMM Ax&y Bx=y NNNNNNNNN Cx|y+z&y-z D!(xy)& !z | | 1)OOOOOOOOO 答案:D46. 判断char型变量n是否为小写字母的正确表达式为 。PPPPPPPPP Aa= n =a)&(n=n)| |(z=a)&(n=中,优先级最高的运算符是_。SSSSSSSSS A+ B= C* D=TTTTTTTTT 答案:CUUUUUUUUU 分析:根据C+语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、=、+、*。48. 下列说法正确的是_。VVVVVVVVV Acouta+&cd)?+d:a=y&chB&!y)的值是_。MMMMMMMMMM A0 B语法错 C1 D“假”NNNNNNNNNN 分析:根据C+语言中运算符优先级的高低,“!”运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换为:1&1&1,结果为1。OOOOOOOOOO 答案:C。53. 下列数据类型不是C+语言基本数据类型的是_。 PPPPPPPPPP A.字符型 B.整型 C.实型 D.数组QQQQQQQQQQ 答案:D54. 在C+语言中,080是_。A. 八进制数 B.十进制数 B. C.十六进制数 D.非法数RRRRRRRRRR 答案:B55. 下列字符列中,可作为C+语言程序自定义标识符是_。SSSSSSSSSS A.switch B.file C.break D.do TTTTTTTTTT 答案:B56. 运算符 +、=、=、% 中,优先级最低的运算符是_。UUUUUUUUUU A. + B.= C.= D.% VVVVVVVVVV 答案:CWWWWWWWWWW 57. 下列字符列中,可以作为“字符串常量”的是_。XXXXXXXXXX A. ABC B.xyz C.uvw D. a YYYYYYYYYY 答案:B58. 字符串”vmx43np102q”的长度是_。ZZZZZZZZZZ A. 8 B. 10 C. 17 D. 16 AAAAAAAAAAA 答案:A59. 在C+语言中,自定义的标识符_。A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写BBBBBBBBBBB C.能使用关键字并且区分大小写 CCCCCCCCCCC D.不能使用关键字并且区分大小写DDDDDDDDDDD 答案:D60. 设有代码“int a = 5;”,则执行了语句“a + = a - = a*a;”后,变量a的值是_。EEEEEEEEEEE A.3 B. 0 C. -40 D. 12FFFFFFFFFFF 答案:C61. 设a为5,执行下列代码后,b的值不为2的是_。GGGGGGGGGGG A. b = a/2 B. b = 6-(-a) HHHHHHHHHHH C. b = a%2 D. b = a abmn;则下列输入数据的方式中正确的是( )。QQQQQQQQQQQ A10,20,X,Y B1020 XYRRRRRRRRRRR C10 20 X Y D10、20、X、YSSSSSSSSSSS 答案:CTTTTTTTTTTT 分析:C+语言没有专门的输入/输出语句,其输入/输出是通过输入/输出流来实现的。用cin输入时,空格和回车键均可作为输入字符之间的分隔符,逗号不能作为分隔符。字符型变量只能容纳一个字符。UUUUUUUUUUU 65. 以下不正确的语句是( )。VVVVVVVVVVV Aif(xy); WWWWWWWWWWW Bif(x=y)&(x!=0) x+=y;XXXXXXXXXXX Cif(x!=y)cinx;else ciny;YYYYYYYYYYY Dif(xy) x+;y+;ZZZZZZZZZZZ 答案:B AAAAAAAAAAAA 分析:if语句后面的表达式必须放在括号内“()”,且不能使用赋之值运算符。在if和else后面用花括号“”括起来的多个语句成为了一个复合语句。BBBBBBBBBBBB CCCCCCCCCCCC 66. 下面程序的输出结果是( )。DDDDDDDDDDDD #includeEEEEEEEEEEEE void main()FFFFFFFFFFFF int a=6,b=6;GGGGGGGGGGGG if(a5)HHHHHHHHHHHH a-=1;IIIIIIIIIIII b+=1;JJJJJJJJJJJJ elseKKKKKKKKKKKK a+=1;LLLLLLLLLLLL b-=1;MMMMMMMMMMMM cout”a=”aendl;NNNNNNNNNNNN cout”b=”b;OOOOOOOOOOOO PPPPPPPPPPPP A5 Ba=5 Ca=5 D编译时出错 QQQQQQQQQQQQ 7 b=7 b=6RRRRRRRRRRRR 答案:D SSSSSSSSSSSS 分析:在ifelse语句的中间应为单条语句或复合语句,不能为多条语句。TTTTTTTTTTTT 67. 对while、dowhile循环结构,下面说法正确的是( )。UUUUUUUUUUUU A只是表达形式不同VVVVVVVVVVVV Bdowhile结构中的语句至少执行一次WWWWWWWWWWWW Cwhile结构中的语句至少执行一次XXXXXXXXXXXX D条件成立时,它们有可能一次也不执行YYYYYYYYYYYY 答案:BZZZZZZZZZZZZ 分析:要知道while、dowhile两种循环结构的区别在于:while循环是先判断条件是否成立,成立时才执行,而dowhile是先执行再判断,它至少执行一次。AAAAAAAAAAAAA 68. 以下不正确的是( )。BBBBBBBBBBBBB A语句for(i=0;i+)表示无限循环 CCCCCCCCCCCCC Bfor(;)表示无限循环DDDDDDDDDDDDD Cfor()也表示无限循环 EEEEEEEEEEEEE Dwhile(1)表示无限循环FFFFFFFFFFFFF 答案:CGGGGGGGGGGGGG 分析:for循环语句中的表达式可以省略,但分号不可省略。HHHHHHHHHHHHH 69. 下面循环体的执行次数为( )。IIIIIIIIIIIII #includeJJJJJJJJJJJJJ void main()KKKKKKKKKKKKK int a,b;LLLLLLLLLLLLL for(a=0,b=5;a=b+1;a+=2,b-)MMMMMMMMMMMMM couta=b.RRRRRRRRRRRRR 70. 对中断语句的说法下面不正确的是( )。SSSSSSSSSSSSS A用户可以指定中断的位置B用户可以指定转移的位置TTTTTTTTTTTTT Cbreak语句可以跳出本循环Dcontinue语句可以结束本次循环UUUUUUUUUUUUU 答案:B VVVVVVVVVVVVV 分析:不论break语句还是continue语句转移的位置是根据程序默认的,不用人为的设置。WWWWWWWWWWWWW 71. 下列函数的功能是( )。XXXXXXXXXXXXX #includeYYYYYYYYYYYYY void main()ZZZZZZZZZZZZZ char a; int i;AAAAAAAAAAAAAA cina;BBBBBBBBBBBBBB for(i=1;i=a)&(a=z)EEEEEEEEEEEEEE a=a-i;FFFFFFFFFFFFFF couta;GGGGGGGGGGGGGG HHHHHHHHHHHHHH A 把a中的小写字母变成大写字母 B 把a中的小写字母变成大写字母IIIIIIIIIIIIII C把a中的所有字母变成小写字母 JJJJJJJJJJJJJJ D把a中的字母变成它前面i个的字母KKKKKKKKKKKKKK 答案:DLLLLLLLLLLLLLL 分析:本题要求判断程序的功能,可以用列举法判断其gon功能,例设a=f,则程序结果为edcba,本程序仅对在小写字母az之间的字母起作用。72. putchar函数可以向终端输出一个( )。MMMMMMMMMMMMMM A整型变量表达式值 B实型变量值NNNNNNNNNNNNNN C字符串 D字符或字符型变量值OOOOOOOOOOOOOO 答案:DPPPPPPPPPPPPPP 73. int k=10;QQQQQQQQQQQQQQ while(k=0) k=k-1;RRRRRRRRRRRRRR 则下面描述正确的是( )。SSSSSSSSSSSSSS Awhile循环执行10次 B循环是无限循环TTTTTTTTTTTTTT C循环体语句一次也不执行 D循环体语句执行一次UUUUUUUUUUUUUU 答案:C74. int x=0,s=0;VVVVVVVVVVVVVV while(!x!=0) s+=+x;WWWWWWWWWWWWWW couts;XXXXXXXXXXXXXX 则( )。YYYYYYYYYYYYYY A运行程序段后输出0 B运行程序段后输出1ZZZZZZZZZZZZZZ C程序段中的控制表达式是非法的 D程序段执行无限次AAAAAAAAAAAAAAA 答案:B75. int x=0,y=0;BBBBBBBBBBBBBBB while(x15) y+,x+=+y;CCCCCCCCCCCCCCC couty”,”x;DDDDDDDDDDDDDDD 则运行结果为( )。EEEEEEEEEEEEEEE A20,7 B6,12 C20,8 D8,20FFFFFFFFFFFFFFF 答案:D76. int a=1,b=2,c=2;GGGGGGGGGGGGGGG while(abc) t=a;a=b;b=t;c-;HHHHHHHHHHHHHHH couta”,”b”,”c;IIIIIIIIIIIIIII 运行结果为( )。JJJJJJJJJJJJJJJ A1,2,0 B2,1,0 C1,2,1 D2,1,1KKKKKKKKKKKKKKK 答案A77. int x=-1;LLLLLLLLLLLLLLL do MMMMMMMMMMMMMMM x=x*x;NNNNNNNNNNNNNNN while(!x);OOOOOOOOOOOOOOO 下列说法正确的是( )。PPPPPPPPPPPPPPP A是死循环 B循环执行两次QQQQQQQQQQQQQQQ C循环执行一次 D有语法错误RRRRRRRRRRRRRRR 答案:C78. 以下能正确计算1*2*3*10的程序段是( )。SSSSSSSSSSSSSSS Ado i=1;s=1; Bdo i=1;s=0;TTTTTTTTTTTTTTT s=s*i; i+; s=s*i;i+;UUUUUUUUUUUUUUU whil
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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