2022年面向对象程序设计技术自测答案.docx
精选学习资料 - - - - - - - - - C+语言程序设计自测练习(一)参考解答一、单项挑选题 1. A 2. C 3. B 4. B 5. B 6. C 7. A 8. D 9. B 10. D 11. D 12. C 13. D 14. D 15. C 16. A 17. B 18. A 19. C 20. B 21. B 22. C 23. C 24. B 25. D 26. C 27. A 28. A 29. C 30. B 31. D 32. C 33. D 34. C 35. C 36. A 37. B 38. B 39. C 40. A 41. C 42. C 43. A 44. B 45. B 46. A 47. B 48. B 49. C 50. B 二、填空题1. C 2. .cpp 程序 3. / 4. /* */ 5. cout 6. cin 7. main 8. 复合 9. 空白 10. #include 11. # 12. 分号 13. 用户(或编程者)14. 程序 15. 函数头 函数体 16. 原型(或声明)17. .h .cpp 18. 警告( warning )致命 error 19. void 20. void 21. int 0 22. 下一行 23. 35 24. 25 25. 6 30 26. 4 11 27. 325 28. 2 29 29. 0xF5 F 大小写均可 30. 0365 31. -128 +127 32. 4 4 33. 4 8 34. 1 1 35. 2 4 36. 15 37. 15 38. 7 39. 6 40. 1 3 41. 3 3.2 42. x 43. true 或 1 44. false或 0 45. x 46. .x 枚举常量整数47. false或 0 48. true 或 1 49. x+y/2*x*y 50. 3*x*y/x+y 51. 1/a*x*x+b*y*y 52. 1 53. 3 54. 4 2 55. 56. int double 57. 6 60 58. 4 1 59. 20 60. 9 216 三、程序填充题,对程序、函数或类中划有横线的位置,依据题意按标号把合适的内容填写到程 序下面相应标号的后面 1. 1 f1+f2 2 i%5=0 3 f 2. 1 x 2 I3 -j 3. 1 n<=99 2 i<=temp 3 break 4. 1 b<=0 2 a=b 3 b=r 5. 1 x<3 或 x<=22 x%i=0 3 i+ 6. 1 b%i=0 2 i+ 或+i3 b>=i 7. 1 i<=5 2 j>=5+i 3 cout<< *8. 1 stri>= A && stri<= Z 2 num+3 return num 9. 1 void funchar ss2 funs3 i<n/2 10. 1ai 或 ai.= 0 2 ai.=c 3 '0' 四、写出程序运行结果1 / 4 名师归纳总结 - - - - - - -第 1 页,共 4 页精选学习资料 - - - - - - - - - 1. max:85 min:18 2. 1 2 3 5 8 13 21 34 55 89 3. s=60 /6 分4. 121 a,b,c=7,12,30 5.11 14 switch end. 6.36 139 -5 173 88 67 7. 114 138 55 8.1 1 1 2 2 3 3 6 9 4 24 33 9.10 6 4 10. * * * * 11.1 5 7 11 13 37 五、指出程序或函数的功能 1. 运算并输出 2 2+4 2+6 2+.+30 2 的值;2. 随机产生出 10 个 10 至 99 之间的素数并显示出来;3. 此函数用于把十进制整数 x 转换为十六进制数字串输出;4. 运算并输出 1+ a 1 2 i 的值,其中 a 的值由键盘输入;i 2 i2 / 4 名师归纳总结 - - - - - - -第 2 页,共 4 页精选学习资料 - - - - - - - - - 5. 以参数 a 和 b 为运算对象,以参数op 为四就算术运算符,求出运算结果并返回;6. 把从键盘上输入的一个整数x 分解为全部可能的每两个因子之积;10 分,运算完成后打印出7. 运算并输出Ni. 的值,其中N值由键盘输入;i18. 让运算机随机产生出10 道 20 以内整数的加法题供用户运算,每道题得分;9. 求出 1+2 2+3 2+.+n 2的值;10. 实现字符串系统函数 strcpy 的功能,把 b 所指的字符串拷贝到 a 所指的字符数组空间中;11. 函数模板,从一维数组 an 中查找值为 key 的元素,如查找胜利就返回真否就返回假;六、编程题1. void main int i=0; double s=0; whiles<5 s+=double1/+i; cout<<"n="<<i<<endl 如采纳 for 循环编写程序,就如下所示: #include<iostream.h> void main int i; double s=0; fori=1; s<5 ; i+ s+=1.0/i; cout<<"n="<<i-1<<endl; / 留意:此 i-1 的值为所求的 n 值 2.#include<iostream.h> void main int i; / 用 i 作为循环变量int p=1; / 用 p 作为累乘变量int s=1; / 用 s 作为累加循环变量3 / 4 名师归纳总结 - - - - - - -第 3 页,共 4 页精选学习资料 - - - - - - - - - fori=1; i<=10 ; i+ p*=3; s+=p ; cout<<s<<endl ; 3.#include<iostream.h> void main int i=0; /用 i 作为依次取值偶数的变量int s=0; /用 s 作为累加变量do i+=2 ;s+=i*i;whiles<1000;cout<<"n="<<i-2<<endl; 4.#include<iomanip.h> #include<math.h> const double a=10.2;void main double x,y;cin>>x ;whilex.=-100 ifx<=0 y=sqrta*a+x*x;else y=3*a*x*x+4*a*x-1;cout<<x<< <<y<<endl ;cin>>x ; 4 / 4 名师归纳总结 - - - - - - -第 4 页,共 4 页