16110 面向对象的程序设计语言——C++(第二版)-习题参考答案_第1页
16110 面向对象的程序设计语言——C++(第二版)-习题参考答案_第2页
16110 面向对象的程序设计语言——C++(第二版)-习题参考答案_第3页
16110 面向对象的程序设计语言——C++(第二版)-习题参考答案_第4页
16110 面向对象的程序设计语言——C++(第二版)-习题参考答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题参考答案第1章 C+语言概述1填空题(1)函数说明,函数体(2)声明区,主程序区,函数定义区(3)多态性(4)namespace,using(5)std(6)cin,(7)/(8)对数据的操作2判断题(1)对(2)错(3)错(4)错(5)错3改错题(1)没有函数体,应改为void main() ;(2)语句没有分号,应改为using namespace myspace;(3)cout和操作符共同完成输出的功能,应改为cout Input your name:;(4)应改为#include 4简答题(略)5编程题(略)第2章 基本数据类型、运算符与表达式1 选择题(1)B(2)D(3)B(4

2、)D(5)B2简答题(1)(a)、(c)(e)、(f)、(g)、(h)、(i)(2)(a)、(g)、(i)、(j)(3)(a)5.5(b)0(c)20(d)0,0(e)1(f)1,2(g)3(h)40(i)2(j)3(k)s1=0&s1=a&b=c(4) 364143(5)x=14编程题(1)#includevoid main() float a,b,c; double area; coutabc;if(a*a+b*b=c*c)cout是直角三角形n; area=0.5*a*b;coutarea=areaendl;else if(a*a+c*c=b*b)cout是直角三角形n; area=0.

3、5*a*c;coutarea=areaendl;else if(b*b+c*c=a*a)cout是直角三角形n; area=0.5*b*c;coutarea=areaendl;elsecout不是直角三角形n;(2)#includevoid main() short int aShort; int anInt; long aLong; char aChar; float aReal; double aDouble; long double lDouble;int min,max; min=2; max=0; cout各种数据类型存储长度:n; coutn短整型 short inttsizeof

4、(aShort); if(sizeof(aShort)max) max=sizeof(aShort); coutn整型 inttsizeof(anInt);if(sizeof(anInt)max) max=sizeof(anInt); coutn长整型 aLongtsizeof(aLong);if(sizeof(aLong)max) max=sizeof(aLong); coutn字符型 aChartsizeof(aChar);if(sizeof(aChar)max) max=sizeof(aChar); coutn单精度浮点型 aRealtsizeof(aReal);if(sizeof(aR

5、eal)max) max=sizeof(aReal); coutn双精度浮点型 aDoubletsizeof(aDouble); if(sizeof(aDouble)max) max=sizeof(aDouble); coutn长双精度浮点型 lDoubletsizeof(lDouble); if(sizeof(lDouble)max) max=sizeof(lDouble); coutnmin=minnmax=maxendl;(3)#includevoid main() float f,c; coutf; c=(f-32)*5.0/9.0; coutc=cendl;(4)#include v

6、oid dat(int num);void main() int num; cout num; cout 您输入的数字对应的二进制为:; dat(num); cout n;void dat(int num) if(num=0) cout 0; else if(num=1) cout 1; else dat(num/2); cout num%2; (5)#include void main() char m4;int i,j;cout请输入四个字母n;for(i=0;imi;for(j=3;j=0;j-)coutmjt;第3章 C+的控制语句1选择题(1)B(2)A(3)A(4)C(5)A2判断

7、题(1)错(2)对(3)对(4)错(5)错3读程序写结果(1) 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5(2) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 (3)j的值为0;i的值为2;4编程题(1)#includevoid main() int i,sum; sum=0; for(i=1;i=100;i+) if(i%3=0) sum=sum+i; coutsum=sumendl;(2)#includevoid main() int i,s7,sum1,sum2; sum1=0; sum2=0; cout请输入七个整数

8、n; for(i=0;isi; if(si%2=0)sum1=sum1+si; elsesum2=sum2+si; coutsum1=sum1endl; coutsum2=sum2endl;(3)#includevoid main() int a,b,i,k; coutab; if(ab) for(i=1;i=a;i+) if(a%i=0&b%i=0)k=i; else for(i=1;i=b;i+) if(a%i=0&b%i=0)k=i; cout最大公约数为: k;coutendl; cout最小公倍数为:成员名,(*指针变量名).成员名(9) 构造,析构,构造,析构(10) 常量数据,引

9、用数据(11) 全局,数据类型,所属的类(12) 常成员,只读(13) 成员,友元(14) 类数据成员,类成员函数(15) this(16) 浅拷贝2选择题(1)C(2)C(3)B(4)C(5)B(6)C(7)D(8)B(9)C(10)D(11)A(12)C(13)D(14)D(15)B3改错题(1)man1.salary=1000.00; 不能在类外访问类的私有成员(2)float r=0;和float c=0; 类本身是抽象的,不能在类的定义体中给其数据成员赋值后缺少分号“;”(3)成员函数void setdata(float x1,float y1,float r);没有实现(4)构造函

10、数名point()应与类名同名,为Point 没有头文件包含#include 4读程序写结果题(1)x=0,y=0x=100,y=200(2)x=100,y=200x=1000,y=2000t=3.14(3)Sta:fun2()=10s.fun2()=11r.a=20(4)Constructor1 called!x=0Constructor2 called!x=100Destructor called!Destructor called!(5)575简答题(略)6编程题(略)第7章 继承和派生1填空题(1)继承(2)基类,派生类(3)private,protected,public,priva

11、te(4)不可访问,保护,公有(5)私有(6)单(一),多(重)(7)赋值兼容规则(8)静态,动态(9)抽象类2选择题(1)B(2)A(3)B(4)C(5)B(6)A(7)D(8)B(9)B(10)B(11)D(12)B3改错题(1)本题的错误主要是数据成员的访问权限问题:基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2 =20;.a3=30; ,y.a2=200; ,y.a3=300; ,y.b2=2000;和y.b3=3000;语句。(2)本题的错误主要是成员函数的访问权限问题:由于派生类Derived是基类

12、Base的保护派生类,所以基类中的私有成员变成派生类的不可访问成员,而基类的保护和公有成员则变成派生类的保护成员。对于类的不可访问和保护成员在类外是不能访问的,故main函数中的语句obj.funl();,obj.fun2(); 和obj.fun3(); 是错误的。4读程序写结果题(1)d=110b=190d=110d=110(2)d=110b=190d=110b=90(3)基类B1的构造函数被调用基类B3的构造函数被调用基类B2的构造函数被调用派生类D的构造函数被调用派生类D的析构函数被调用基类B2的析构函数被调用基类B3的析构函数被调用基类B1的析构函数被调用(4)ABCDD(5)ABDD

13、(6)AABDD(7)ABCDD(8)5255简答题(略)6编程题(略)第8章 运算符重载1填空题(1) 函数重载(2) 重载为类的成员函数,重载为类的友元函数(3) Operator(4) 1,2(5) 友元2选择题(1)B(2)D(3)A(4)D(5)B(6)C(7)C(8)C3简答题(略)4编程题(略)第9章 模板1填空题(1)类模板,函数模板(2)类,对象(3)数据类型(4)fun(5)2选择题(1)C(2)B(3)C(4)B(5)D3简答题(略)4编程题(略)第10章 文件1填空题(1)FILE,stdio.h(2)stdio.h,fopen,fclose(3)顺序,随机(4)cin,cout,(5)ios(6)fstream,open,close(7)文件指针的当前位置,文件开头,文件尾2选择题(1)B(2)B(3)A(4)D(5)B(6)D(7)C(8)B(9)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论