C++程序设计谭浩强.ppt
《C++程序设计谭浩强.ppt》由会员分享,可在线阅读,更多相关《C++程序设计谭浩强.ppt(33页珍藏版)》请在课桌文档上搜索。
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.3 C+程序的构成和书写形式 1.4 C+
2、程序的编写和实现 1.5 关于C+上机实践,计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言诞生于1954年,它是FORTRAN语言。先后出现了多种计算机高级语言。其中使用最广泛、影响最大的当推BASIC语言和C语言。BASIC语言是1964年在FORTRAN语言的基础上简化而成的,它是为初学者设计的小型高级语言。C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是用C语言编写的。,*1.1 从C到C+,但是随着软件规模的增大,用C语言编写程序渐渐显得
3、有些吃力了。C+是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于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 输出一行字符:“This is a C+program.”。程序如下:#include/包含头文件iostreamusing namespace std;/使用命名空间stdint main()coutThis is a C+program.;return 0;在运行时会在屏幕上输出以下一行信息:T
5、his is a C+program.,*1.2 最简单的C+程序,用main代表“主函数”的名字。每一个C+程序都必须有一个 main 函数。main前面的int的作用是声明函数的类型为整型。程序第6行的作用是向操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一般为-1。函数体是由大括号 括起来的。本例中主函数内只有一个以cout开头的语句。注意C+所有语句最后都应当有一个分号。再看程序的第1行“#include”,这不是C+的语句,而是C+的一个预处理命令,它以“#”开头以与C+语句相区别,行的末尾没有分号。,#include 是一个“包含命令”,它的作用是将
6、文件iostream的内容包含到该命令所在的程序文件中,代替该命令行。文件iostream的作用是向程序提供输入或输出时所需要的一些信息。iostream是i-o-stream 3个词的组合,从它的形式就可以知道它代表“输入输出流”的意思,由于这类文件都放在程序单元的开头,所以称为“头文件”(head file)。在程序进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替#include命令行,然后再对该程序单元进行整体编译。,程序的第2行“using namespace std;”的意思是“使用命名空间std”。C+标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要
7、用到C+标准库(此时就需要用#include命令行),就需要用“using namespace std;”作声明,表示要用到命名空间std中的内容。在初学C+时,对本程序中的第1,2行可以不必深究,只需知道:如果程序有输入或输出时,必须使用“#include”命令以提供必要的信息,同时要用“using namespace std;”,使程序能够使用这些信息,否则程序编译时将出错。,例1.2 求a和b两个数之和。可以写出以下程序:/求两数之和(本行是注释行)#include/预处理命令using namespace std;/使用命名空间stdint main()/主函数首部/函数体开始 int
8、 a,b,sum;/定义变量 cinab;/输入语句 sum=a+b;/赋值语句couta+b=sumendl;/输出语句return 0;/如程序正常结束,向操作系统返回一个零值/函数结束,本程序的作用是求两个整数a和b之和sum。第1行“/求两数之和”是一个注释行,C+规定在一行中如果出现“/”,则从它开始到本行末尾之间的全部内容都作为注释。如果在运行时从键盘输入 123 456则输出为a+b=579,例1.3 给两个数x和y,求两数中的大者。在本例中包含两个函数。#include/预处理命令using namespace std;int max(int x,int y)/定义max函数,
9、函数值为整型,形式参数x,y为整型/max函数体开始 int z;/变量声明,定义本函数中用到的变量z为整型 if(xy)z=x;/if语句,如果xy,则将x的值赋给zelse z=y;/否则,将y的值赋给z return(z);/将z的值返回,通过max带回调用处/max函数结束int main()/主函数,/主函数体开始 int a,b,m;/变量声明 cinab;/输入变量a和b的值 m=max(a,b);/调用max函数,将得到的值赋给mcoutmax=mn;/输出大数m的值return 0;/如程序正常结束,向操作系统返回一个零值/主函数结束本程序包括两个函数:主函数main和被调用
10、的函数max。程序运行情况如下:18 25(输入18和25给a和b)max=25(输出m的值)注意输入的两个数据间用一个或多个空格间隔,不能以逗号或其他符号间隔。,在上面的程序中,max函数出现在main函数之前,因此在main函数中调用max函数时,编译系统能识别max是已定义的函数名。如果把两个函数的位置对换一下,即先写main函数,后写max函数,这时在编译main函数遇到max时,编译系统无法知道max代表什么含义,因而无法编译,按出错处理。为了解决这个问题,在主函数中需要对被调用函数作声明。上面的程序可以改写如下:#include using namespace std;int ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 谭浩强

链接地址:https://www.desk33.com/p-236181.html