C课后习题答案.pdf_第1页
C课后习题答案.pdf_第2页
C课后习题答案.pdf_第3页
C课后习题答案.pdf_第4页
C课后习题答案.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、C+的特点: C+语言具有以下特点: (1) C+是 C 语言的超集。它既保持 了 C 语言的简洁、 高效和接近汇编语言等特 点, 又克服了 C 语言的缺点, 其编译系统能 检查更多的语法错误,因此,C+比 C 语 言更安全。 (2) C+保持了与 C 语言的兼容。绝 大多数 C 语言程序可以不经修改直接在 C+环境中运行,用 C 语言编写的众多库 函数可以用于 C+程序中。 (3) 支持面向对象程序设计的特征。 C+既支持面向过程的程序设计,又支持 面向对象的程序设计。 (4) C+程序在可重用性、可扩充性、 可维护性和可靠性等方面都较 C 语言得到 了提高, 使其更适合开发大中型的系统软件 和应用程序。 C+对 C 那些发展? C 主要有如下不足之处:1.编译器查错能力 弱 2.没有支持代码重用的机制, 编程效率低 下 3.结构上的不足, 导致难以开发大型、 复 杂的程序 4.因语法过于灵活, 导致安全性下 降 C+克服了 C 的不足, C+支持面向对象 的程序设计。C+中发展了类的概念,使面 向对象的设计能以实现,适于开发大型、复 杂的程序 2.一个 c+程序由哪几部分构成?每一部分 的作用是什么? 任何的可被执行的程序都必须要有一个被 执行的入口点,当然 C+也不会例外,有 main 函数作为整个程序的入口点,而且必 不可少。 再有就是在 main 函数中所要用到的类,这 个部分的内容由#include 将类的内容在链 接的过程中参与到整个程序的过程中, 但是 这个部分的内容并不参与编译。 为了管理的清晰和系统化, 类方法的实现部 分将会存在另外一个或者几个独立的文件 中,当然如果不嫌弃有一个长长的文件的 话, 也可以将类的实现方法跟类放在同一个 文件当中。 总体上就分为这三个部分。 4、请说明编辑、编译、连接的作用 编辑是应用程序开发的第一步, 工作内容就 是输入、修改程序。通过程序编辑而得到的 程序称为源程序,约定的扩展名是 cpp。 编译是应用程序开发的第二步, 工作内 容就是分析程序文件中的源程序, 生成目标 程序,扩展名是 obj。 连接是应用程序开发的第三步, 工作内 容就是将若干目标程序加以归并、整理,为 所有的函数、变量分配具体地址,生成可执 行程序,扩展名是 exe。 编译后得到的目标文件为什么不能直接运 行? 构造函数和析构函数的作用是什么?什么 时候需要自己定义构造函数和析构函数? 构造函数用来处理对象的初始化, 它的功能 是有用户定义的, 用户根据初始化的要求设 计函数体和函数参数; 当一个类含有一些数 据成员, 你需要在实例化类的时候就初始化 这些成员,就需要自己定义构造函数 ; 析构函数作用是用来完成对象被删除前的 一些清理工作,就是专门的扫尾工作;当你 的类数据成员中使用了动态分配的内存, 就 需要定义自己的析构函数来释放这部分内 存,防止内存泄露 编辑的过程就是产生源代码的过程,这个部分的文件能很容易 被人们理解和阅读,但是却不会被机器所读懂。 编译的过程就是将被编辑的源文件生成机器所能读懂的语言的 过程。 链接就是在各个被编译的文件之间形成一个可以互通消息的同 道。 被编译过的源文件在没有链接之前是彼此孤立的,即不能够互 相传达信息,所以被编译过后得到的目标文件仍然不能直接运 行。 . 输入一个字符串,把其中的字符按逆 序输出。 如输入 LIGHT, 输出 THGIL。 要求用 string 方法。 #include #include using namespace std; int main() string str; int i,n; char temp; coutstr; n=str.size(); for(i=0;i #include using namespace std; int main() int i; string str5=“BASIC“,“C“,“FORTRAN“,“C+ +“,“PASCAL“; void sort(string ); sort(str); coutsi+1) t=si;si=si+1;si+1=t; 二章 1. #include using namespace std; class Time public:/成员改为公用的 int hour; int minute; int sec; ; Time t; void set_time(void)/在main函数之前定义 cint.hour; cint.minute; cint.sec; void show_time(void)/在main函数之前定义 cout using namespace std; class Time public: void set_time(void) cinhour; cinminute; cinsec; void show_time(void) cout using namespace std; class Time public: void set_time(void); void show_time(void); private: int hour; int minute; int sec; void Time:set_time(void) cinhour; cinminute; cinsec; void Time:show_time(void) cout using namespace std; class Box public: void get_value(); void volume(); void display(); public: float lengh; float width; float height; float vol; ; void Box:get_value() coutlengh; cinwidth; cinheight; void Box:volume() vol=lengh*width*height; void Box:display() cout using namespace std; class Date public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month; int day; int year; ; Date:Date(intm,intd,int y):month(m),day(d),year(y) Date:Date(intm,int d):month(m),day(d)year=2005; Date:Date(int m):month(m)day=1;year=2005; Date:Date()month=1;day=1; year=2005; void Date:display() cout using namespace std; class Date public: Date(int=1,int=1,int=2005); void display(); private: int month; int day; int year; ; Date:Date(intm,intd,int y):month(m),day(d),year(y) void Date:display() cout class student public: student(int a=0,int b=0); student(); student(student void display(void);/显示学号和成绩 void setnum(int n); void setmark(int m); private: int num; int mark; student:student(int a,int b) num=a; mark=b; void student:setnum(int n) num=n; void student:setmark(int m) mark=m; void student:display(void) coutn; (p+i)-setnum(n); coutm; (p+i)-setmark(m); for(i=0;idisplay(); delete p; return 0; 5 题 建立一个对象数组,内放 5 个学生的数据(学 号,成绩),设立一个函数 max,用指向对象的 指针作函数参数,在 max 函数中找出 5 个 学生中成绩最高者,并输出学号 #include using namespace std; class student public: void input(); int num; int score; void student:input() cout num; cout score; cout num score (c2.score) return else return 10将例 3.13 程序中的 display 函数不 放在 Time 类中,而作为类外的普通函 数,然后分别在 Time 和 Date 类中将 display 声明为友元函数。在主函数中 调用 display 函数,display 函数分别引 用 Time 和 Date 两个类的对象的私有 数据,输出年、月、日和时、分、秒。 #include using namespace std; class Date; class Time public: Time(int,int,int); friend void display(const Date private: int hour; int minute; int sec; ; Time:Time(int h,int m,int s) hour=h; minute=m; sec=s; class Date public: Date(int,int,int); friend void display(const Date private: int month; int day; int year; ; Date:Date(int m,int d,int y) month=m; day=d; year=y; void display(const Date class Time; class Date public: Date(int,int,int); friend Time; private: int month; int day; int year; ; Date:Date(intm,intd,int y):month(m),day(d),year(y) class Time public: Time(int,int,int); void display(const Date private: int hour; int minute; int sec; ; Time:Time(inth,intm,int s):hour(h),minute(m),sec(s) void Time:display(const Date class Complex public: Complex()real=0;imag=0; Complex(doubler,double i)real=r;imag=i; double get_real(); double get_imag(); void display(); private: double real; double imag; ; double Complex:get_real() return real; double Complex:get_imag() return imag; void Complex:display() cout Class Matrix/定义 Matrix 类 public: Matrix();/默认构造函数 friend Matrix operator+(Matrix /重载运算符“+” void input();/输入数据函数 void display();/输出数据函数 private: int mat23; ; Matrix:Matrix() /定义构造函数 for(int i=0;imatij; void Matrix:display()/定义输出数据函数 for (int i=0;i #include using namespace std; class Teacher public: Teacher(stringnam,inta,chars,string tit,string ad,string t); void display(); protected: string name; int age; char sex; string title; string addr; string tel; Teacher:Teacher(string nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),addr(ad),tel(t) void Teacher:display() cout“name:“nameendl; cout“age“ageendl; cout“sex:“sexendl; cout“title:“titleendl; cout“address:“addrendl; cout“tel:“telendl; class Cadre public: Cadre(stringnam,inta,chars,string p,string ad,string t); void display(); protected: string name; int age; char sex; string post; string addr; string tel; ; Cadre:Cadre(string nam,int a,char s,string p,string ad,string t): name(nam),age(a),sex(s),post(p),addr(ad),tel(t) void Cadre:display() cout“name:“nameendl; cout“

温馨提示

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

评论

0/150

提交评论