《C++程序设计》(谭浩强)

上传人:资****亨 文档编号:133851832 上传时间:2020-05-31 格式:PPT 页数:1228 大小:3.19MB
返回 下载 相关 举报
《C++程序设计》(谭浩强)_第1页
第1页 / 共1228页
《C++程序设计》(谭浩强)_第2页
第2页 / 共1228页
《C++程序设计》(谭浩强)_第3页
第3页 / 共1228页
《C++程序设计》(谭浩强)_第4页
第4页 / 共1228页
《C++程序设计》(谭浩强)_第5页
第5页 / 共1228页
点击查看更多>>
资源描述

《《C++程序设计》(谭浩强)》由会员分享,可在线阅读,更多相关《《C++程序设计》(谭浩强)(1228页珍藏版)》请在金锄头文库上搜索。

1、C 程序设计 中国高等院校计算机基础教育课程体系规划教材 谭浩强编著 总目录 第1篇基本知识第1章C 的初步知识第2章数据类型与表达式第2篇面向过程的程序设计第3章程序设计初步第4章函数与预处理第5章数组第6章指针第7章自定义数据类型 第3篇基于对象的程序设计第8章类和对象第9章关于类和对象的进一步讨论第10章运算符重载第4篇面向对象的程序设计第11章继承与派生第12章多态性与虚函数第13章输入输出流第14章C 工具 第1章C 的初步知识第2章数据类型与表达式 第1篇基本知识 第1章C 的初步知识 1 1从C到C 1 2最简单的C 程序1 3C 程序的构成和书写形式1 4C 程序的编写和实现1

2、 5关于C 上机实践 计算机诞生初期 人们要使用计算机必须用机器语言或汇编语言编写程序 世界上第一种计算机高级语言诞生于1954年 它是FORTRAN语言 先后出现了多种计算机高级语言 其中使用最广泛 影响最大的当推BASIC语言和C语言 BASIC语言是1964年在FORTRAN语言的基础上简化而成的 它是为初学者设计的小型高级语言 C语言是1972年由美国贝尔实验室的D M Ritchie研制成功的 它不是为初学者设计的 而是为计算机专业人员设计的 大多数系统软件和许多应用软件都是用C语言编写的 1 1从C到C 但是随着软件规模的增大 用C语言编写程序渐渐显得有些吃力了 C 是由AT TB

3、ell 贝尔 实验室的BjarneStroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的 C 保留了C语言原有的所有优点 增加了面向对象的机制 C 是由C发展而来的 与C兼容 用C语言写的程序基本上可以不加修改地用于C 从C 的名字可以看出它是C的超集 C 既可用于面向过程的结构化程序设计 又可用于面向对象的程序设计 是一种功能强大的混合型的程序设计语言 C 对C的 增强 表现在两个方面 1 在原来面向过程的机制基础上 对C语言的功能做了不少扩充 2 增加了面向对象的机制 面向对象程序设计 是针对开发较大规模的程序而提出来的 目的是提高软件开发的效率 不要把面向对象和面

4、向过程对立起来 面向对象和面向过程不是矛盾的 而是各有用途 互为补充的 学习C 既要会利用C 进行面向过程的结构化程序设计 也要会利用C 进行面向对象的程序设计 本书既介绍C 在面向过程程序设计中的应用 也介绍C 在面向对象程序设计中的应用 例1 1输出一行字符 ThisisaC program 程序如下 include 包含头文件iostreamusingnamespacestd 使用命名空间stdintmain cout ThisisaC program return0 在运行时会在屏幕上输出以下一行信息 ThisisaC program 1 2最简单的C 程序 用main代表 主函数 的

5、名字 每一个C 程序都必须有一个main函数 main前面的int的作用是声明函数的类型为整型 程序第6行的作用是向操作系统返回一个零值 如果程序不能正常执行 则会自动向操作系统返回一个非零值 一般为 1 函数体是由大括号 括起来的 本例中主函数内只有一个以cout开头的语句 注意C 所有语句最后都应当有一个分号 再看程序的第1行 include 这不是C 的语句 而是C 的一个预处理命令 它以 开头以与C 语句相区别 行的末尾没有分号 include是一个 包含命令 它的作用是将文件iostream的内容包含到该命令所在的程序文件中 代替该命令行 文件iostream的作用是向程序提供输入或

6、输出时所需要的一些信息 iostream是i o stream3个词的组合 从它的形式就可以知道它代表 输入输出流 的意思 由于这类文件都放在程序单元的开头 所以称为 头文件 headfile 在程序进行编译时 先对所有的预处理命令进行处理 将头文件的具体内容代替 include命令行 然后再对该程序单元进行整体编译 程序的第2行 usingnamespacestd 的意思是 使用命名空间std C 标准库中的类和函数是在命名空间std中声明的 因此程序中如果需要用到C 标准库 此时就需要用 include命令行 就需要用 usingnamespacestd 作声明 表示要用到命名空间std中

7、的内容 在初学C 时 对本程序中的第1 2行可以不必深究 只需知道 如果程序有输入或输出时 必须使用 include 命令以提供必要的信息 同时要用 usingnamespacestd 使程序能够使用这些信息 否则程序编译时将出错 例1 2求a和b两个数之和 可以写出以下程序 求两数之和 本行是注释行 include 预处理命令usingnamespacestd 使用命名空间stdintmain 主函数首部 函数体开始inta b sum 定义变量cin a b 输入语句sum a b 赋值语句cout a b sum endl 输出语句return0 如程序正常结束 向操作系统返回一个零值

8、函数结束 本程序的作用是求两个整数a和b之和sum 第1行 求两数之和 是一个注释行 C 规定在一行中如果出现 则从它开始到本行末尾之间的全部内容都作为注释 如果在运行时从键盘输入123456 则输出为a b 579 例1 3给两个数x和y 求两数中的大者 在本例中包含两个函数 include 预处理命令usingnamespacestd intmax intx inty 定义max函数 函数值为整型 形式参数x y为整型 max函数体开始intz 变量声明 定义本函数中用到的变量z为整型if x y z x if语句 如果x y 则将x的值赋给zelsez y 否则 将y的值赋给zretur

9、n z 将z的值返回 通过max带回调用处 max函数结束intmain 主函数 主函数体开始inta b m 变量声明cin a b 输入变量a和b的值m max a b 调用max函数 将得到的值赋给mcout max m n 输出大数m的值return0 如程序正常结束 向操作系统返回一个零值 主函数结束本程序包括两个函数 主函数main和被调用的函数max 程序运行情况如下 1825 输入18和25给a和b max 25 输出m的值 注意输入的两个数据间用一个或多个空格间隔 不能以逗号或其他符号间隔 在上面的程序中 max函数出现在main函数之前 因此在main函数中调用max函数时

10、 编译系统能识别max是已定义的函数名 如果把两个函数的位置对换一下 即先写main函数 后写max函数 这时在编译main函数遇到max时 编译系统无法知道max代表什么含义 因而无法编译 按出错处理 为了解决这个问题 在主函数中需要对被调用函数作声明 上面的程序可以改写如下 includeusingnamespacestd intmain intmax intx inty 对max函数作声明inta b c cin a b c max a b 调用max函数 couty z x elsez y return z 只要在被调用函数的首部的末尾加一个分号 就成为对该函数的函数声明 函数声明的位

11、置应当在函数调用之前 下面举一个包含类 class 和对象 object 的C 程序 目的是使读者初步了解C 是怎样体现面向对象程序设计方法的 例1 4包含类的C 程序 include 预处理命令usingnamespacestd classStudent 声明一个类 类名为Student private 以下为类中的私有部分intnum 私有变量numintscore 私有变量scorepublic 以下为类中的公用部分voidsetdata 定义公用函数setdata cin num 输入num的值cin score 输入score的值 voiddisplay 定义公用函数display

12、cout num num endl 输出num的值cout score score endl 输出score的值 类的声明结束Studentstud1 stud2 定义stud1和stud2为Student类的变量 称为对象intmain 主函数首部 stud1 setdata 调用对象stud1的setdata函数stud2 setdata 调用对象stud2的setdata函数stud1 display 调用对象stud1的display函数stud2 display 调用对象stud2的display函数return0 在一个类中包含两种成员 数据和函数 分别称为数据成员和成员函数 在C

13、 中把一组数据和有权调用这些数据的函数封装在一起 组成一种称为 类 class 的数据结构 在上面的程序中 数据成员num score和成员函数setdata display组成了一个名为Student的 类 类型 成员函数是用来对数据成员进行操作的 也就是说 一个类是由一批数据以及对其操作的函数组成的 类可以体现数据的封装性和信息隐蔽 在上面的程序中 在声明Student类时 把类中的数据和函数分为两大类 private 私有的 和public 公用的 把全部数据 num score 指定为私有的 把全部函数 setdata display 指定为公用的 在大多数情况下 会把所有数据指定为私

14、有 以实现信息隐蔽 具有 类 类型特征的变量称为 对象 object 程序中第18 24行是主函数 程序运行情况如下 100198 5 输入学生1的学号和成绩 100276 5 输入学生2的学号和成绩 num 1001 输出学生1的学号 score 98 5 输出学生1的成绩 num 1002 输出学生2的学号 score 76 5 输出学生2的成绩 C 程序的结构和书写格式归纳如下 1 一个C 程序可以由一个程序单位或多个程序单位构成 每一个程序单位作为一个文件 在程序编译时 编译系统分别对各个文件进行编译 因此 一个文件是一个编译单元 2 在一个程序单位中 可以包括以下几个部分 预处理命令

15、 上节4个程序中都包括 include命令 全局声明部分 在函数外的声明部分 在这部分中包括对用户自己定义的数据类型的声明和程序中所用到的变量的定义 1 3C 程序的构成和书写形式 函数 函数是实现操作的部分 因此函数是程序中必须有的和最基本的组成部分 每一个程序必须包括一个或多个函数 其中必须有一个 而且只能有一个 主函数 main函数 但是并不要求每一个程序文件都必须具有以上3个部分 可以缺少某些部分 包括函数 3 一个函数由两部分组成 函数首部 即函数的第一行 包括函数名 函数类型 函数属性 函数参数 形参 名 参数类型 一个函数名后面必须跟一对圆括号 函数参数可以缺省 如intmain

16、 函数体 即函数首部下面的大括号内的部分 如果在一个函数中有多个大括号 则最外层的一对 为函数体的范围 函数体一般包括 局部声明部分 在函数内的声明部分 包括对本函数中所用到的类型 函数的声明和变量的定义 对数据的声明既可以放在函数之外 其作用范围是全局的 也可以放在函数内 其作用范围是局部的 只在本函数内有效 执行部分 由若干个执行语句组成 用来进行有关的操作 以实现函数的功能 4 语句包括两类 一类是声明语句 另一类是执行语句 C 对每一种语句赋予一种特定的功能 语句是实现操作的基本成分 显然 没有语句的函数是没有意义的 C 语句必须以分号结束 5 一个C 程序总是从main函数开始执行的 而不论main函数在整个程序中的位置如何 6 类 class 是C 新增加的重要的数据类型 是C 对C的最重要的发展 有了类 就可以实现面向对象程序设计方法中的封装 信息隐蔽 继承 派生 多态等功能 在一个类中可以包括数据成员和成员函数 他们可以被指定为私有的 private 和公用的 public 属性 私有的数据成员和成员函数只能被本类的成员函数所调用 7 C 程序书写格式自由 一行内可以写

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号