[PPT模板]第1章 概述.ppt

上传人:音乐台 文档编号:1996391 上传时间:2019-01-29 格式:PPT 页数:42 大小:523.50KB
返回 下载 相关 举报
[PPT模板]第1章 概述.ppt_第1页
第1页 / 共42页
[PPT模板]第1章 概述.ppt_第2页
第2页 / 共42页
[PPT模板]第1章 概述.ppt_第3页
第3页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[PPT模板]第1章 概述.ppt》由会员分享,可在线阅读,更多相关《[PPT模板]第1章 概述.ppt(42页珍藏版)》请在三一文库上搜索。

1、主讲:卫春芳,高级程序设计与软件开发,C+程序设计,中国高等院校计算机基础教育课程体系规划教材,谭浩强 编著,所用教材,参考书目,全国计算机等级考试二级教程-C+语言程序设计 教育部考试中心 C+程序设计题解与上机指导 谭浩强 编著,课程目标,本课程的定位: 是一门计算机基础课程,本课程的学习是为学生后继计算机课程的学习和专业学习奠定扎实的程序设计基础。 计算机学习分为两类 学习其操作方法 将计算机作为工具 学习其开发方法 通过在计算机上的创新活动,让计算机学习,以使计算机更”聪明” 本课程的目标: 使同学们掌握程序设计的思想和方法,为将来结合其专业应用计算机编程打下一个扎实的基础,培养学生在

2、各专业领域中应用计算机解决问题的意识和能力。,学习要求,学习要求 认真听讲 课后复习 独立完成作业 成绩评定方式 作业 课堂提问 出勤,上机及作业,作业一般在教学平台上完成,会现场抽查2-3次。 进入教学平台: 1.计算中心机房:http:/192.168.0.11 2.其它位置: http:/ 作业有完成期限,一定要在期限之前完成期末平时成绩是由平时作业成绩决定,希望大家注意。,总 目 录(教学计划),第1篇 基 本 知 识 第1章 C+的初步知识 第2章 数据类型与表达式 第2篇 面向过程的程序设计 第3章 程序设计初步 第4章 函数与预处理 第5章 数组 第6章 指针 第7章 自定义数据

3、类型,第3篇 基于对象的程序设计 第8章 类和对象 第9章 关于类和对象的进一步讨论 第10章 运算符重载 第4篇 面向对象的程序设计 第11章 继承与派生 第12章 多态性与虚函数 第13章 输入输出流 第14章 C+工具,第一章 C+的初步知识,程序设计语言的发展,我们为什么选C+?,最简单的C和C程序,C+程序开发环境,本章内容要点:,程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,类似数学语言和自然语言,全国计算机二级考试科目 分成二级高级语言程序设计(C、

4、C、Java、pascal、Visual Basic)和二级数据库程序设计(Visual FoxPro、Access 、 Delphi)两类,高级语言的发展,现在有那些常用的编程语言?,C C Java Pascal Visual Basic Visual FoxPro Access Delphi .net,主要分为面向过程编程和面向对象编程,通常只需要学习一种或两种语言,重要的是思想 ,即:数据结构和算法 basic和pascal比较严谨,pascal被称之为教学语言,学起来稍微容易一点 用的最多的是c,c和c+本质上是一样的,windows 就是用c编的,他的功能很强大,编程比较方便。 j

5、ava最大的好处在于可移植性很强,即此程序的某一段可移植到彼程序中,很节约编程时间。 Foxpro是数据库开发语言 .net用来编制动态网页的,十大编程语言历史排名:,1.1 从C到C+,优点: 语言简洁、紧凑,使用灵活; 具有丰富运算符和数据类型; 可以进行许多低级操作,适合开发系统软件; 程序的运行效率高; 代码的可移植性好。 缺点: 类型检查机制相对弱,程序中的一些错误不易发现; 为一个程序设计的模块,很难用于其它程序; 当程序大到一定规模,维护变得相当复杂。,C语言:,时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统,C的特点,C是C语言的超集; 包含了C语言的全部

6、语法特征, 全面兼容C; C语言编写的程序可以直接在C+环境下运行。因此有人称C+不是一个纯正的面向对象的语言; C是程序员和软件开发者在实践中创造的。 便于使用,编译系统能检查出更多的类型错误; C+是一种面向对象的程序设计语言。 按照结构化程序设计方法,解决一个问题是从上往下,逐步分解。 面向对象程序设计的特征:封装性、继承性、多态性,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2

7、* pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,数据处理,例1 方法一,用结构化方法编程,求圆的周长和面积,数据描述,函数头,注释行,预编译,1.2 最简单的C+程序,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth =

8、 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,计算周长和面积,例1 方法一,用结构化方法编程,求圆的周长和面积,输出计算结果,输入数据,/ compute the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi *

9、r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,注释行,例1 方法一,用结构化方法编程,求圆的周长和面积,注释的作用: 提高程序的可读性。 注释的处理: 编译器对它不做处理,不生成目标代码。,#include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r

10、; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,/ count the girth and area of circle,/ this is a simple program,注释 第一种形式: 以 ” / ” 开始至行末,例1 方法一,用结构化方法编程,求圆的周长和面积,#include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ;

11、 area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,/* this is a simple program count the girth and area of circle */,注释 第一种形式: 以 ” / ” 开始至行末,第二种形式: /* 字符串 */,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () doubl

12、e r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,预编译指令 在程序编译之前把指定文件内容复制到此处,例1 方法一,用结构化方法编程,求圆的周长和面积,由于C+语言没有专门的输入/输出(简称I/O)语句,此处借用了头文件iostream.h中预定义的标准输入对象cin(默认为键盘)和标准输出

13、对象cout(默认为显示器)实现数据I/O,因此需要包含头文件iostream.h。,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数头,例1 方法一,用结构

14、化方法编程,求圆的周长和面积,C+程序由一个或多个函数组成,有且仅有一个main函数,其余为库函数和自定义函数; main函数是C+程序执行入口,其位置不限,但为了便于阅读,通常位于程序的开始或尾部。,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth =

15、 “ girth endl ; cout “area = “ area endl ; ,函数返回值类型 void 空类型,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ;

16、 cout “area = “ area endl ; ,函数名 main 主函数名,系统预定义,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area

17、= “ area endl ; ,参数表 没有参数不能省略圆括号,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ;

18、,函数体 以“”开始,以“”结束。 函数体内可由零个或若干语句组成。 每一语句均以“;”结束。 一行可以写多个语句 一个语句可以分多行书写,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ gir

19、th endl ; cout “area = “ area endl ; ,函数是程序基本运行单位,一般形式为: 类型 函数名 ( 参数表 ) 语句序列 ,1.1 概述,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout

20、 “girth = “ girth endl ; cout “area = “ area endl ; ,输入数据,例1 方法一,用结构化方法编程,求圆的周长和面积,cout后面的“”称为提取运算符,用于从cin对象(默认为键盘)的输入行中提取一个指定类型的数据送入其后的变量。,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ;

21、cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,计算周长和面积,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl

22、; cout “girth = “ girth endl ; cout “area = “ area endl ; ,输出计算结果,例1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double pi = 3.1415 ; cout r ; girth = 2 * pi * r ; area = pi * r * r ; cout “radius = “ r endl ; cout “girth = “ girth e

23、ndl ; cout “area = “ area endl ; ,1.1 概述,例1 方法一,用结构化方法编程,求圆的周长和面积,程序运行结果为:,/ count the girth and area of circle #include class Circle /定义一个类,计算圆的面积和周长 private: float r; /定义成员数据变量,存放圆的半径 public: Circle(float a) /定义构造函数,创建和初始化对象 r=a; Circle( ) /定义析构函数,清理和撤消对象 void SetRadius(float a) /定义成员函数,设置圆的半径 r=a

24、; float GetRadius( ) /定义成员函数,获取圆的半径 return r; float girth( ) /定义成员函数,计算圆的周长 return 2*3.14159f*r; float Area( ) /定义成员函数,计算圆的面积 return 3.14159f*r*r; ;,例2 方法二,用面向对象方法编程,求圆的周长和面积,void main(void) float r; /定义浮点型变量r,用于存放圆的半径 coutr; Circle c(r); /定义Circle类的对象c cout“圆的周长=“c.girth( )n; cout“圆的面积=“c.Area( )n;

25、 ,例2 方法二,用面向对象方法编程,求圆的周长和面积,1.3 C+程序的构成和书写形式,函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 函数可有几个语句组成,用左右花括号 括起来。 程序语句 C+程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套;或者/到行尾 不产生编译代码 编译预处理命令 作用是将双引号或尖括号括起来的文件内容读到该命令的位置处,例: /*This is the main /* of example1.1*/ */,解释程序: 直接对源代码中的语句

26、进行解释执行,不产生目标代码。,源程序,计算机只能识别机器码,高级语言程序怎样才能被执行呢?,汇编语言程序,机器语言程序,汇编程序,高级语言程序,目标程序,机器语言程序 汇编语言程序,编译程序,目标程序,可执行程序,.C文件 .CPP文件,.OBJ,.EXE,编译,连接,程序开发的基本术语,源程序: 用计算机语言写的,有待翻译的程序。 目标程序: 也称为“结果程序”,是源程序通过翻译程序加工以后所生成的程序。 翻译程序: 是指一个把源程序翻译成等价的目标程序的程序。,程序开发的基本过程:编辑、编译、连接、运行调试 编辑 将源程序输入到计算机中,生成后缀为cpp的磁盘文件。 编译 将程序的源代码

27、转换为机器语言代码。目标程序文件的扩展名为“.obj“。 连接 将多个源程序的目标文件以及库中的某些文件连在一起,生成一个后缀为exe的可执行文件。 运行调试 运行可执行文件,分析运行结果。若结果不正确,则要修改源程序,并重复以上过程,直到得到正确的结果为止。,1.4 C+程序的编写和实现,C+程序开发步骤,file.exe,程序代码的录入, 生成源程序*.cpp,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,C+集成开发环境,最常见的也比较好用的是 Visual C+ 比较老的 Turbo C+ Borland 的 C+Builder

28、免费的 Dev C+ 收费的国产软件 Magic C+ Linux下,可以用 g+/gcc,Visual C+ 6.0 简体中文版的安装,建立一个存放你编写程序的文件夹; 打开VC Microsoft Visual C+ 6.0 创建C源程序文件: 单击文件菜单新建文件C+ Source File 键入文件名 设置保存位置 VC窗口的组成 代码区 工程项目管理区 调试区 打开工程和程序 工程:.dsw 程序:.cpp,项目工作区,代码区,编译区,1.5 关于C+上机实践,2.工具栏,编译文件:只编译当前源文件,生成当前的与源程序同名的.obj文件 链接(建立)文件:链接工程中的所有个文件,未编

29、译的文件进行编译;生成与工程同名的.exe文件 运行文件:执行程序,注意: 如果是单个C+程序,在编译前需要建立一个工程空间才能编译;,3. 上机步骤: l建立一个C+源文件 文件新建新建选项卡文件C+SourceFile输入文件名选取文件位置 输入程序保存文件 l编译、连接和运行 编译编译.cpp 编译连接.obj 编译执行.exe l建立第二个C+源文件 不能直接用文件新建,先要选择文件关闭工作空间,再文件新建,修改程序错误 l建立一个C+源文件 文件新建输入程序 l编译,若有错误修改 l编译、连接和运行,程序错误,编译错误 (语法错误),运行错误 (逻辑错误),Error:一定要修改,Warning:可能不是错误,有时可忽略,相对较容易排错,相对不易排错,连接错误,相对较少,一般为调用了一个不存在的函数,注意: 一个语法错误产生多个错误信息, 每次修改都应根据第一个错误信息修改 语法错误可能不在错误信息提示的位置,可能是附近。,例如: a=5 b=7;,例如: c=5+7写成c=5-7,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1