自考c程序设计课后答案参考.pdf_第1页
自考c程序设计课后答案参考.pdf_第2页
自考c程序设计课后答案参考.pdf_第3页
自考c程序设计课后答案参考.pdf_第4页
自考c程序设计课后答案参考.pdf_第5页
已阅读5页,还剩43页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

第一章 一、选择题 1.B; (typedef ,typeid ,typename,都为保留字); 2.C; (标识符,应该以字母或,下划线开头); 3.C; (标识符中有的特殊符号,只能有下划线); 二、填空题 1. cin,cout 2. new,delete 3. int a(55); 三、改错题 1.没有定义变量 num; 2.不能给变量 x,声明指向常量的指针 const int *p= 如果吧 x 定义为常量 const,*p 不能 当作“左值” 。 3.p 为常量指针,不能吧 p 作为“左值” ,p= void main() char a=A,b=B; int ascii_1=53,ascii_2=54;/ASCII 码中的,5 和 6 cout*(p+i); for(i = 0;i abc; cout= 97 else return c; void main() int i; char c15 = A,v,e,t,E,T,%, for(i = 0 ; i r; cout=0) c=*(b+j); *(b+j)=*(b+len-j-1); *(b+len-j-1)=c; j-; blen=0; void main() char str=“1234567890“; cout0) coutn; double *array = new doublen; /用指针,动态申请数组大小 couttemp; *(array+i) = temp;/给数组元素赋值 coutsizeA; Line(double a) sizeA = a; double getLength() return sizeA; ; class Triangle : public Line/三角形类 protected: double sizeB, sizeC; public : Triangle() coutsizeB; sizeC = sqrt( sizeB * sizeB + sizeA * sizeA ); void printSize() coutprintSize(); color=#FF0000第七章 /color 一、单项选择 1.A; 2.A; 3.B; 4.D; 5.D 二、填空题 1.rbegin(), insert(iterator it, const T 3.typedef vector:reverse_iterator reverse_iterator 三、改错题 1.第六行的返回类型 T getx() return x; 2.类 Point 的构造方法中的参数类型是 int,所以在 Line 构造方法中的 a,b 应该是 int 型; 四、编程题 1.使用类模板演示复制兼容性规则。 #include using namespace std; template class Point protected: T x, y; public : Point(T a, T b) x = a; y = b; void show() coutshow(); a = b; /派生类对象的属性值,更新父类对象的属性值 a.show(); /134 页,例 6.3 赋值兼容规则的例子 2.设计一个点的类模板,分别使用继承、包含的方法设计线段类模板,要求演示构造函数和 复制构造函数的设计方法,并用主程序验证之。 #include using namespace std; template class Point public : T x, y; Point(T a=0, T b=0) x = a; y = b; void show() couta; if(a = -1)/结束符为-1 ofstream writeFile; char fileName20; cout b; cout0 t.setSizeB(b); t.setSizeC(c); t.setArea(); v.push_back(t); else couta; if(a = -1)/结束符为-1 ofstream writeFile; char fileName20; coutb; cout0 t.setSizeB(b); t.setSizeC(c); t.setArea(); v.push_back(t); else coutc; if(txt1.eof() txt1.close; return; couta; if(a0 = $) return; i = 0; while(ai != 0) if( ai=65 i+; writeFile a“ “; color=#FF0000第十章/color 一、单项选择题 1.D; 2.A; 3.B; 4.D 二、填空题 1.过程抽象和数据抽象 2.对象 3.问题域、系统边界、系统责任 4.我觉得应该是,类的成员有(数据成员)和(成员函数)两打类。 5. 四、编程题 1.取消设计实例中的 Cow 属性,练习使用模板实现包含的设计方法。 #include #include using namespace std; /* /* 声明 Point 类 /* template class Point T x, y; public: Point(T a= 0, T b= 0) : x(a), y(b) Point(Point y = a.y; void Display(); T Distance(Point T getX()return x; T getY()return y; ; /* /*成员函数:Point : Display() /*功能 :打印点坐标 template void Point : Display() cout x “,“ y endl; /* /*成员函数:Point : Distance /*参数 :Point 对象的引用 /*返回值 :两点间距离 /*返回类型:T template T Point : Distance(Point /* /* 声明 Line /* template class Line Point a, b; public: Line(Point T Distance(); T getArea(); ; /* /*成员函数:Line:Dispaly /*参数 :无 /*功能 :打印线段每个点的坐标 template void Line : Display() a.Display(); b.Display(); /* /*成员函数:Line:Distance /*参数 :无 /*返回值 :线段长度 template T Line : Distance() T x = a.getX() - b.getX(); T y = a.getY() - b.getY(); return sqrt( x * x + y * y ); void main() Point a; Point b(7.8, 9.8); Point c(34.5, 67.8); a = c; a.Display(); b.Display(); cout“两点之距离:“ a.Distance(b) endl; Line s(a, b); Line s1(s); cout“线段属性如下:“ endl; s1.Display(); cout“线段长度:“ s1.Distance() endl; 2.取消设计实例中的 Cow 属性,练习使用模板实现继承的设计方法。 #include #include using namespace std; /* /*声明 Point 类 /* template class Point protected: T x, y; public: Point(T a = 0, T b = 0): x(a), y(b) Point(Point y = a.y; virtual void Display() cout“X = “ x “, Y = “ y endl; T Distance(Point T getX()return x; T getY()return y; ; /* /*成员函数: Point:Distance /*参数 : Point 对象的引用 /*返回值 : 两点间距离 template T Point : Distance(Point /* /*声明 Line 类 /* template class Line : public Point double x2, y2; public: Line(T, T, T, T ); Line(Line void Display(); T Distance(); T getX2()return x2; T getY2()return y2; friend void Disp(Line ) Line : Line(T a1, T a2, T a3, T a4):Point(a1, a2), x2(a3), y2(a4) template Line : Line(Line T y = y2 - y; return sqrt(x*x + y*y); /* /*成员函数:Line:Display() /*功能 :打印线段两个端点坐标 template void Line:Display() cout“x = “ x “,y = “ y “,x2 = “ x2 “,y2 = “ y2 endl; /* /*友元函数:operator /*返回值 :ostream stream obj.getX() “,“ obj.getY() “,“ obj.getX2() “,“ obj.getY2() endl; return stream; void main() Pointa; Pointb(7.8, 9.8); Pointc(34.5, 67.8); a = c; a.Display(); b.Display(); cout“两点距离:“ a.Distance(b) endl; Line s(7.8, 9.8, 34.5, 67.8); Disp(s); Line s1(s); cout“使用 Display 函数输出线段属性如下:“ end

温馨提示

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

评论

0/150

提交评论