c++面向对象程序设计第一章概要

上传人:今*** 文档编号:108148460 上传时间:2019-10-22 格式:PPT 页数:122 大小:1.23MB
返回 下载 相关 举报
c++面向对象程序设计第一章概要_第1页
第1页 / 共122页
c++面向对象程序设计第一章概要_第2页
第2页 / 共122页
c++面向对象程序设计第一章概要_第3页
第3页 / 共122页
c++面向对象程序设计第一章概要_第4页
第4页 / 共122页
c++面向对象程序设计第一章概要_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《c++面向对象程序设计第一章概要》由会员分享,可在线阅读,更多相关《c++面向对象程序设计第一章概要(122页珍藏版)》请在金锄头文库上搜索。

1、1,C+及面向对象程序设计,2,第1章 C+的初步知识,1.1 从C到C+ 1.2 最简单的C+程序 1.3 C+对C的扩充 1.4 C+程序的编写和实现,3,C语言是结构化和模块化的语言,面向过程的。随着C语言应用的推广,C语言存在的一些缺陷或不足也开始流露出来,例如: C语言对数据类型检查的机制比较弱; 缺少支持代码重用的结构; C程序的设计者必须细致地设计程序中的每个细节,准确地考虑程序运行时每一时刻发生的事情,当程序规模变大时,结构化程序设计就显得力不从心。,1.1 从C到C+,4,为了解决软件设计危机,在20世纪80年代提出了面向对象的程序设计思想(OOP)。在实践中,人们发现C语言

2、使用如此广泛,如果在它的基础上发展一种面向对象的语言,一定会让大众容易接收这种语言,所以产生了C+。,1.1 从C到C+,5,面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。 不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。,1.1 从C到C+,6,AT&T发布的第一个C+编译系统是一个预编译器,它把C+代码转换成C代码,然后再用C编译系统生成目标代码。 1988:产生第一个C+编译系统 1989:C+2.0,类的多重继承 1991:C+3.0,类的模板 C+4.0,异常处理、命名空间 1997:ANSI发布C+标准,1

3、.1 从C到C+,7,C+是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C+。 C+对C的“增强“,表现在两个方面: 在原来的面向过程的机制基础上,对C语言的功能做了扩充。 增加了面向对象的机制。C with Class C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。,1.1 从C到C+,8,C语言 面向过程的程序设计,C+语言 与C语言兼容 是C语言的一个超集 绝大多数C语言代码无须修改就可以直接在C+程序中使用 面向对象的程序设计,C+语言与C语言的关系,9,C+语言的词法和词法规则,C+语言的字符集 等同于C

4、语言的字符集,包括:(1)大小写英文字母(2)数字字符(3)其他ASCII码字符(除、$外)。 单词及词法规则 单词是构成语句的关键成分之一,通常由若干字符组成,C+有几种单词:1、关键字;2、标识符;3、运算符;4、分隔符;5、注释符。,10,C+语言的词法和词法规则,关键字 是C+语言中的命令字,它是预定义好的单词,C+编译程序对其有专门的解释。 int、float、if、while、switch等。 标识符 程序员用标识符对程序中元素实施命名,包括函数名、类名、对象名、类型名、变量名、常变量名、数组名等。 标识符以字母或下划线开始,后跟字母、数字、下划线,标识符区分大小写字母。,11,C

5、+语言的词法和词法规则,运算符 运算符代表某种操作的单词,由一个或多个字符组成。 注意:运算符的优先级和结合顺序。参考本书附录B(P287) 分隔符 在语句中关键字和标识符之间、各个语句之间要用分隔符分开。C+常用的分隔符有空格、逗号、分号、冒号、大括号。,12,C+语言的词法和词法规则,注释 可以帮助其他人阅读程序,通常用于概括算法、确认变量的用途或者阐明难以理解的代码段。 C+提供了两种注释符。 /* . */ /.,13,源程序 (文本文件) *.CPP,目标文件 (二进制文件) *.OBJ,可执行文件 (二进制文件) *.EXE,库文件 (各种函数),在Visual C+系统中,可直接

6、从源程序编译连接至可执行程序,但依然要生成*.OBJ及*.EXE这两个文件。,F7,compile,link,高级语言编译过程,1.2 最简单的C+程序,14,1.2 最简单的C+程序,例1.1 输出一行字符“This is a C+ program.“ #include using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,预处理命令,以“#“开头与C+语句相区别,行的末尾没有分号,将尖括号内的文件在此读入,15,1.2 最简单的C+程序,#include using namespace std;

7、int main( ) cout“This is a C+ program.n“; return 0; ,头文件(head file),作用是向程序提供输入或输出时所需要的一些信息,C+标准要求,由系统提供的头文件不带后缀.h,16,1.2 最简单的C+程序,#include using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,使用命名空间.C+标准库中的类和函数在std中声明,如需用C+标准库,就需用“using namespace std; “声明,17,1.2 最简单的C+程序,主函数,#in

8、clude using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,18,1.2 最简单的C+程序,标准C+规定main函数必须声明为int类型.如程序正常运行,向操作系统返回一个0,否则返回非零值,通常是-1,#include using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,19,1.2 最简单的C+程序,输出流对象,在屏幕上打印引号内的字符串,需要用头文件iostream,插入运算符,#include

9、 using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,20,1.2 最简单的C+程序,#include using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,函数体开始,函数体结束,21,1.2 最简单的C+程序,#include using namespace std; int main( ) cout“This is a C+ program.n“; return 0; ,一条完整语句的结束符,22,在

10、初学C+时,对本程序中的第1,2行可以不必深究,只需知道:如果程序有输入或输出时,必须使用“#include “命令以提供必要的信息,同时要用“using namespace std;“ ,使程序能够使用这些信息,否则程序编译时将出错。,注意:,23,例1.2 求a和b两个数之和。 #include using namespace std; int main( ) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,24,#include using namespace std; int main(

11、) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,输入流对象,从输入设备中提取数据送到输入流cin中,提取运算符,25,#include using namespace std; int main( ) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,26,#include using namespace std; int main( ) int a,b,sum; cin ab; sum= a +

12、b ; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,27,#include using namespace std; int main( ) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,28,#include using namespace std; int main( ) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,29,#include using

13、 namespace std; int main( ) int a,b,sum; cin ab; sum=a+b; cout“a+b=“sumendl; return 0; ,1.2 最简单的C+程序,用sum的值替代,希望输出的字符,30,#include using namespace std; int main( ) int max(int x,int y); int a,b,c; cinab; c=max(a,b); cout“max=“cendl; return 0; ,主函数,int max(int x,int y) int z; if (x y) z = x; else z=y;

14、 return(z); ,max函数,例1.3 输入两个数x和y,求两数中的大者。,31,#include using namespace std; int main( ) int max(int x,int y); int a,b,c; cinab; c=max(a,b); cout“max=“cendl; return 0; ,int max(int x,int y) int z; if (x y) z = x; else z=y; return(z); ,32,#include using namespace std; int main( ) int max(int x,int y); int a,b,c; cinab; c=max(a,b); cout“max=“cendl; return 0; ,int max(int x,int y) int z; if (x y) z = x; else z=y; return(z); ,因max函数的定义在main函数之后,需声明,33,#include using namespace std; int main( ) int max(int x,int y); int a,b,c;

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

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

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