• 171.00 KB
  • 2022-04-22 11:30:24 发布

《面向对象程序设计》综合复习题集参考解答.doc

  • 25页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《面向对象程序设计》综合复习题集参考解答 一、单选题1.A2.C3.B4.B5.B6.C7.A8.D9.B10.D11.D12.C13.D14.D15.C16.A17.B18.A19.C20.B21.B22.C23.C24.B25.D26.C27.A28.A29.C30.B31.D32.C33.D34.C35.C36.A37.B38.B39.C40.A41.C42.C43.A44.B45.B46.A47.B48.B49.C50.B51.D52.B53.A54.D55.C56.D57.C58.B59.C60.D61.D62.B63.A64.C65.A66.C67.C68.B69.B70.C71.A72.D73.B74.D75.A76.C77.D78.D79.C80.C81.D82.A83.B84.D85.A86.A87.B88.C89.D90.C91.A92.D93.D94.B95.D96.C97.A98.B.99.C100.D101.A102.B103.B104.C105.D106.B107.A108.D109.B110.C111.D112.A113.A114.B115.D116.B117.A118.C119.A120.B121.D122.C123.A124.C125.B126.A127.C128.C129.D130.B131.D132.C133.A134.B135.A136.C137.C138.B139.A140.C141.B142.A143.D144.D145.B146.A147.C148.D149.B150.C151.D152.C153.D154.B155.A156.C157.D158.C159.D160.A161.A162.B163.D164.B165.C166.B167.C168.C169.D170.A171.C172.D173.B174.A175.D176.D177.C178.A179.D180.B181.B182.C183.A184.C185.C186.D187.C188.B189.A190.C191.D192.A193.A194.D195.B196.C197.B198.C199.B200.D201.C202.B203.A204.C205.B206.D207.D208.A二、判断题1×6×11×16√21√26√31√36√41√2√7×12×17×22×27√32×37√3√8×13√18√23√28×33√38√4×9×14√19×24×29×34√39×5√10√15×20×25√30√35√40√三、填空题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. 229 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 61. 0、 19           62. 常量63. if               64. switch 65. 不停止           66. 11                  67. 10             68. break 69. continue         70. return              71. 主(或main)    72. 40 73. 192              74. 300                 75. 1、 2          76. 0、 177. 8                78. 11                  79. n+1            80. cin>>a 81. cout<  T cubin(T n){return n*n*n ; } 95. void             96. static              97. 右边(或后面) 98. extern 99. 头文件           100. 函数体             101. 文件包含命令  102. 文件103. 代码区(程序区)104. 全局数据           105. 栈             106. i*m+j+1107. 2、 4           108. 13                 109. 总和          110. 4111. 地址 DataType*  112. (char*)p           113. int**         114. *p p115. *p、 p          116. *p、 *p            117. 25            118. 42119. 26              120. 42                 121. 4*i           122. *(a+i) 123. a+i*sizeof(a[i])                        124. 第一个、  修改 125. b[7]、b[2]                              126. int *p=x; 127. *p                                      128. int[n]、int *       129. c[3][0]、c[3][2]                        130. int(*)[6]131. *(a[i]+j) 或*(*(a+i)+j)或*(a+i)[j]      132. int y=x; 133. x               134. 相等、 x           135. *p            136. p[0]、  *P137. ’a’            138. char(*)[n]         139. delete p      140. delete []p  141. 0 (或’’)   142. double *pv=v;     143. H             144. ple 145. pc=(char *)pv;                         146. int (*p)[100]=b; 147. (*p).name      148. fp->score          149. int ra=a;    150. 6 151. 10             152. 17                 153. 对象          154. 实例 155. 封装                                   156. 继承         157. 聚合                                   158. 抽象、封装体159. 继承                                   160. 多继承(或多重继承)161. 单继承                                 162. 编译、  运行163. 重载、  虚函数                         164. 设计、  实现 165. 问题域、  应用                         166. 函数167. private(或私有)                      168. public(或公有) 169. private(或私有)                        170. public(或公有) 171. private       172. 内联                173. 类名          174. 冒号175. inline        176. 作用域              177. AA* AA::abc() 178. 不在179. const         180. const               181. *this         182. this 183. 类定义        184. 不能够              185. 队列长度      186. 队首187. (first+length)MS                      188. (first+1)MS 189. length==0     190. length==MS          191. 删除          192. 插入193. 队首                                   194. 队尾                  195. ElemHead->next                         196. ElemTail 197. NULL          198. 相同                199. 相同           200. 2 201. 构造          202. 析构                203. 构造函数       204. AB() {} 205. ~AB() {}                               206. 无参构造函数207. 动态存储空间                           208. 析构函数209. 10            210. N                   211. 初始化表       212. 初始化表213. 初始化表      214. 函数体              215. const int aa;  216. int aa; 217. AB(int aa):a(aa){};                    218. AB(int aa):a(aa){}; 219. 析构函数      220. 不会                221. 2              222. a  223. 2             224. 1                   225. 2              226. 1 227. 3             228. 错误                229. 正确           230. 错误231. 拷贝构造函数  232. AB(AB)( 注:可附带任何一个名字的参数)233. delete []pa;  234. 只能、不能          235. 初始化         236. 类域237. 优先级        238. 0、1                239. 1、2           240. 赋值 241. 2             242. 成员函数            243. ostream       244. istream  245. 2             246. 成员                247. 返回值、  空   248. 继承(派生)249. 公有和保护、私有                       250. 公有和保护、 任何 251. private、私有 252. 类名                253. 虚基类        254. 二义性              255. this 四、程序填充1.(1)f1+f2(2)i%5==0(3)f2.(1)x(2)i(3)-j3.(1)n<=99(2)i<=temp(3)break4.(1)b<=0(2)a=b(3)b=r5.(1)x<3(或x<=2)(2)x%i==0(3)i++6.(1)b%i==0(2)i++(或++i)(3)b>=i7.(1)i<=5(2)j>=5+I(3)cout<<’*’8.(1)str[i]>=’A’&&str[i]<=’Z’(2)num++(3)returnnum9.(1)voidfun(charss[])(2)fun(s)(3)i>*p(2)p++(或++p)(3)q--(或--q)12.(1)x/2(2)x!=0(3)cout<next(3)p->data20.(1)q->next(2)p(3)returnp21.(1)int&ARRAY::(2)n>=s(3)v[n](或*(v+n))22.(1)ARRAY::(2)newint[n](3)v[i]=a[i]23.(1)int&ARRAY::(2)n<1||n>s(3)v[n-1](或*(v+n-1))24.(1)AA::MaxA()(2)x=a[i](3)returnx25.(1)inext=p;2.35p=newNODE;p->next=plist;3.578b.InitFranction(1,3);c=a.FranAdd(b);c.FranOutput()4.6910b->InitFranction(3,4);c=a->FranAdd(*b);c.FranOutput()5.5912public:}intCE::GetMin(){6.456Public: A():c(0),a(0),b(0){}A(intaa,intbb):c(aa+bb){a=aa;b=bb;}7.589在函数体给常量c赋值定义b多一个参数定义y少一个参数8.131517在函数体给常量c赋值缺少分号定义z多一个参数,分号前多一个逗号9.51920a[i]=aa[i];d*=x.Get(i);intf=x.SumA(6);10.25friendfract&operator+=(fract&,fract);fract&operator+=(fract&f1,fractf2);八、程序设计1.若采用for循环编写程序,则如下所示:voidmain(){inti=0;doubles=0;while(s<5)s+=double(1)/++i;cout<<"n="<voidmain(){inti;doubles=0;for(i=1;s<5;i++)s+=1.0/i;cout<<"n="<voidmain(){inti;//用i作为循环变量intp=1;//用p作为累乘变量ints=1;//用s作为累加循环变量for(i=1;i<=10;i++){p*=3;s+=p;}cout<voidmain(){inti=0;//用i作为依次取值偶数的变量ints=0;//用s作为累加变量do{i+=2; s+=i*i;}while(s<1000);cout<<"n="<#includeconstdoublea=10.2;voidmain(){doublex,y;cin>>x;while(x!=-100){if(x<=0)y=sqrt(a*a+x*x);elsey=3*a*x*x+4*a*x-1;cout<>x;}}5.#includevoidmain(){intx,max;cin>>x;max=x;for(inti=0;i<9;i++){cin>>x;if(x>max)max=x;}cout<<"max:"<voidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<"("<voidmain(){intc1,c2,c3;doublex; c1=c2=c3=0;cin>>x;while(x>0){if(x<=12)c1++;elseif(x<=15)c2++;elsec3++;cin>>x;}cout<=0&&j<=9)b[j]++;a++;}}9.doubleMean(doublea[M][N],intm,intn);doubleMean(doublea[M][N],intm,intn){inti,j;doublev=0.0;for(i=0;imx)mx=a[i];if(a[i]0)return1;elsereturn0;}16.intAA::Compare(AAb){if(n!=b.n)return0;for(inti=0;ib.n)k=b.n;elsek=n;for(inti=0;ib.a[i])return1;elseif(a[i]n=n;px->MS=MS;px->a=newint[MS];for(inti=0;ia[n-1-i]=a[i];}returnpx;}20.Array::Array(intaa[],intnn){n=nn;a=newint[n];for(inti=0;ix){t=x;x=y;y=t;};}//其它函数从略friendintVariance(A_class&ac);//参数名任意};intVariance(A_class&ac){returnac.x*ac.x-ac.y*ac.y;}voidmain(){A_classA_obj(3,5);cout<<"Result:"<=0&&j<=9)b[j]++;a++;}//6分}2.intAA::CompareBig(AA&b){intk;if(n>b.n)k=b.n;elsek=n;//1分for(inti=0;ib.a[i])return1;elseif(a[i]=i2.a[i]=a[n-i-1]、a[n-i-1]=x 3.p、t4.a[i]=aa[i]、delete[]a四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。(每小题6分,共24分)评分标准:第3、4小题根据叙述完整程度酌情给分。1.s=632.43.以参数x和y作为运算对象,以参数op所存字符作为运算符,要求从键盘上输入运算结果,若正确则返回1否则返回0。4.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。五、编程题(每小题6分,共12分)评分标准:按编程完整程度酌情给分。1.intf(inta[],intn){if(n==0)return0;//1分elsereturna[n-1]*a[n-1]+f(a,n-1);//6分}2.Array::Array(Array&aa){n=aa.n;//1分a=newint[n];//3分for(inti=0;i=’A’&&str[i]<=’Z’(2)num++(3)returnnum2.(1)intn(2)k=j(3)a[k]=x3.(1)int&ARRAY::(2)n<1||n>s(3)v[n-1]4.(1)returngd_name(2)staticint(3)returntotalweight四、理解问答题,写出前三小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。(每小题6分,共30分)1.101-6//2分40-3//2分6-6-9//2分2.xuxiaokai//3分weirong//3分3.56//3分920//3分4.实现字符串系统函数strcpy的功能,把b所指的字符串拷贝到a所指的字符数组空间中。5.函数模板,从一维数组a[n]中查找值为key的元素,若查找成功则返回真否则返回假。第4、5小题评分标准:按叙述完整程度酌情给分。五、编程题(每小题5分,共10分)评分标准:按编程完整程度酌情给分。1.intf(inta[],intn) {if(n==0)return0;elsereturna[n-1]*a[n-1]+f(a,n-1);}2.Array::Array(Array&aa){n=aa.n;a=newint[n];for(inti=0;i=5+i(3)cout<<’*’2.(1)a[i](或a[i]!=’’)(2)a[i]!=c(3)""3.(1)int&ARRAY::(2)n>=s(3)v[n](或*(v+n))4.(1)friendPointoperator+(Point&pt,intdd)(2)friendPointoperator+(Point&pt1,Point&pt2)(3)returntemp四、理解问答题,写出前三小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。(每小题6分,共30分)评分标准:第4、5小题根据叙述完整程度酌情给分。1.s=632.4//3分27//3分3.d=800//3分f=40//3分4.让计算机随机产生出10道20以内整数的加法题供用户计算,每道题10分,计算完成后打印出得分。5.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。五、编程题(每小题5分,共10分)评分标准:按编程完整程度酌情给分。1.voidfun(char*a,intb[]){inti; for(i=0;i<10;i++)b[i]=0;while(*a){intj=*a-’0’;if(j>=0&&j<=9)b[j]++;a++;}}2.intAA::CompareBig(AA&b){intk;if(n>b.n)k=b.n;elsek=n;for(inti=0;ib.a[i])return1;elseif(a[i]