C程序设计第1章C语言概述.ppt

上传人:tia****nde 文档编号:11495274 上传时间:2020-04-25 格式:PPT 页数:49 大小:468KB
返回 下载 相关 举报
C程序设计第1章C语言概述.ppt_第1页
第1页 / 共49页
C程序设计第1章C语言概述.ppt_第2页
第2页 / 共49页
C程序设计第1章C语言概述.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
第一章C+语言概述,主讲:刘艳菊,2008-2009-2,C+教学课件,本章内容提要,面向对象程序设计的基本思想和概念C+是一种面向对象的程序设计语言C+的词法及词法规则C+程序结构的特点C+程序的实现,2008-2009-2,C+教学课件,从C语言到C+语言,C语言美国贝尔实验室的DennisRitchie在1972年开发。美国国家标准化组织(ANSI)于1983年成立了一个委员会(X3J11),以确定C语言的标准。该标准(ANSIC)于1989年被正式采用,即C89。特点:语言简洁、紧凑,使用方便、灵活。有丰富的运算符和数据类型。生成的目标代码质量高,程序运行效率高。,局限性:(1)数据类型检查机制相对较弱;(2)几乎没有支持代码重用的语言机制;(3)程序员很难控制程序的复杂性。,2008-2009-2,C+教学课件,从C语言到C+语言,C+语言1980年,贝尔实验室的BjarneStroustrup开始对C进行改进和扩充。1983年正式命名为C+。C+包含了整个C(C89),C是建立C+的基础。C+包括C的全部特征和优点,同时增加了对面向对象编程的完全支持。C+语言的标准1998年ANSI/ISO联合委员会制定了C+的国际标准。2003年推出了第二个版本,是对第一版的修订。C+仍在不断发展中,并尽可能包含C的最新版本。,2008-2009-2,C+教学课件,1.1面向对象程序设计的基本思想,传统的结构化程序设计方法(SP)StructuredProgramming,简称SP使用SP方法设计程序的步骤:在数据处理过程中,采用的是自顶向下、分而治之的方法,将整个程序按功能划分为几个可独立编程的子过程模块,每一子模块完成指定的子任务,并且提供一个清晰、严格的调用界面,主过程通过调用各子过程完来成全部处理工作。,数据声明,数据处理,结果输出,2008-2009-2,C+教学课件,SP的优缺点:,优点:这种程序设计方法力求算法描述准确。对每一子过程模块容易进行程序正确性证明。缺点:这种方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。,2008-2009-2,C+教学课件,面向对象的程序设计方法,Object-OrientedProgramming,简称OOP面向对象的程序设计方法强调直接以问题域(现实世界)中的事物为中心来思考和认识问题,并按照这些事物的本质特征把它们抽象为对象,以作为构成软件系统的基础。这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。,2008-2009-2,C+教学课件,面向对象的系统包含了三个要素对象(Object):含有数据和对其操作的代码逻辑实体。类(Class):从客观世界的一组事物中抽取其共同的属性和行为,是对一些问题和概念进行的抽象。属性(Attribute):描述对象特征的数据。行为(Method):对属性的操作。继承(Inheritance):它是创建新类的一种方法,一个类可以继承另一个类中所有数据和操作,即通过对已有的类的修改和扩充来满足新类的要求。,面向对象的基本特征,继承的本质特征是行为共享。,2008-2009-2,C+教学课件,使用OOP方法设计程序的基本步骤:,找出问题中的对象和类。确定每个对象和类的功能,具有哪些属性,提供哪些方法等。找出这些对象和类之间的关系,确定对象之间的消息通信方式、类之间的继承和复合等关系。用程序代码实现这些对象和类。,2008-2009-2,C+教学课件,编译,程序设计,可执行程序,源程序,模型,语句+数据,机器指令+机器数,客观世界,认知世界,抽象,使用OOP方法解决问题示意图,计算机程序设计语言表达,2008-2009-2,C+教学课件,1.1.2C+:面向对象的程序设计语言,C+对面向对象程序设计方法的支持C+支持数据封装C+类中包含私有、公有和保护成员C+可通过发送消息来处理对象C+中允许友元破坏封装性C+允许函数名和运算符重载C+支持继承性C+支持动态联编,C语言与C+的关系,2008-2009-2,C+教学课件,1.2C+程序的构成和书写形式,一个简单的C+语言程序问题:在屏幕上显示一行文字。源程序,/ThisismyfirstC+program#includeusingnamespacestd;voidmain()cout“C+isveryuseful.;coutendl;coutIlikeit.“;,C+isveryuseful.Ilikeit.,2008-2009-2,C+教学课件,C+语言程序的基本结构,C语言中原有的规则和语句在C+中仍可继续使用,但C+又增添了很多新的风格。C+程序是大小写“敏感”的。注释程序中可以采用两种注释形式:/*/多行注释:注释可以写成多行。/单行注释:注释只能写成一行,它可单独占一行,也可写在某行程序代码的末尾。,2008-2009-2,C+教学课件,C+语言程序的基本结构,函数一个C+的程序是由一到若干个函数构成的,但其中必须有且仅有一个名称为main的函数存在。main()函数是整个程序运行时的起点,即程序从main()函数开始执行。一个C+的函数是由两部分构成的,即函数头和函数体。函数头是对函数的说明,包括了函数的返回值的类型、函数的名称、圆括号、形参及形参的类型说明。函数体由一对大括号括起来,其内容是由若干条语句构成,函数体的内容决定了该函数的功能。,voidmain(),2008-2009-2,C+教学课件,C+语言程序的基本结构,编译预处理可以使用预处理命令。头文件可以使用带扩展名的头文件名,也可以使用不带扩展名的头文件名。例如#include#include可以包含C标准库的头文件#include#include,#include,2008-2009-2,C+教学课件,C+语言程序的基本结构,名称空间(namespace)解决名称冲突的问题。std是系统默认的名称空间,包含所有外部名称。可以使用运算符:来引用名称空间中定义的对象名称std:cout可以使用using编译指令使名称空间中的所有名称可用。usingnamespacestdusingstd:cout只使得cout可用如果使用#include则不需使用using指令。,usingnamespacestd;,2008-2009-2,C+教学课件,C+语言程序的基本结构,数据输出可以使用C语言的printf()函数还可使用功能更强大、更方便的cout对象进行输出数据。cout数据cout对象能识别数据的类型,并将其值转换成书写的字符串形式输出。在使用cout进行数据的输出时,需要在程序中包含iostream.h文件。在该头文件中定义了输出流对象cout。,cout“C+isveryuseful.;coutendl;couti;coutsisi变量cin变量1变量2变量n如:上例中的语句cins;表示给变量s输入一个值,cins;cini;,2008-2009-2,C+教学课件,1.2C+程序的构成和书写形式,每个C+程序由注释、编译预处理、程序主体三部分组成,/*一个完整的C+语言程序示例i乘数,j-乘数,sum积*/#includevoidmain()inti,j;/说明了两个代表整数的标识符号longintsum=0;/说明了一个代表长整数的标识符号/输入提示coutij;/输入操作sum=i*j;coutendl;cout“theresultis”sumendl;,2008-2009-2,C+教学课件,C+程序的书写格式,#includevoidMain()inta,b;a=5;b=7;cout“a*b=”a*bendl;,#includevoidMain()inta,b;a=5;b=7;cout“a*b=”a*bj;/输入操作sum=i*j;coutendl;cout“theresultis”sumname;/输入姓名8coutHELLO,namey;/输入语句sum=x+y;/赋值语句coutx+y=sumendl;/输出语句return0;/如程序正常结束,向操作系统返回一个零值/函数结束,请给x,y赋值34x+y=7,2008-2009-2,C+教学课件,C+语言的编程环境,开发程序的具体操作取决于使用的编程环境。因为C+语言是可移植的,所以它在许多环境中都是可用的。例如UNIX、Linux、Windows和MS-DOS。C+语言编程环境包括一系列程序。编辑器编译器链接器运行和调试环境,2008-2009-2,C+教学课件,C+语言的编程环境,编辑器使用一个文本编辑器程序输入源代码,并将代码保存在源文件中。一般,C+程序的源文件名称的扩展名是.cpp或.cxx等。例如welcometoyou.cpp和Hello.cpp。该名称应该遵循特定的操作系统的命名规则。例如,MS-DOS要求基本名包含的字符数不能大于8,所以welcometoyou.cpp不是合法的DOS文件名。Windows允许长文件名,所以welcometoyou.cpp是合法的Windows文件名。,2008-2009-2,C+教学课件,C+语言的编程环境,编译器编译器接收源文件,生成目标文件,扩展名为.obj。编译器还会检查输入的程序是否是有效的C+语言程序。如果编译器发现错误,就会报告出错,且不能生成可执行程序。这时就必须修改错误代码,然后再编译。显然,为了能迅速找到错误,理解特定编译器的报错信息是一项有用的技能。,2008-2009-2,C+教学课件,C+语言的编程环境,链接器目标代码虽然已经是机器代码,但还不能被执行。缺少下面两样东西启动代码:相当于程序和操作系统之间的接口。库函数的代码:库文件中包含许多函数的目标代码。链接器的作用就是将这三个元素(目标代码、启动代码和库代码)结合起来,并将它们放在一个文件中,即可执行文件,扩展名为.exe。,2008-2009-2,C+教学课件,Windows的C+语言编程环境,Windows并不包含C+编译器,所以需要获得并安装一个C+编译器。许多现代的编译器都是集成开发环境(IntegratedDevelopmentEnvironment,IDE)的一部分。包括编辑器、编译器、链接器还包括一个符号调试程序在内的运行支持系统。许多软件厂商都提供了基于Windows的集成开发环境Microsoft公司的VisualC+Borland公司的C+BuilderMetrowerks公司的CodeWarrior,2008-2009-2,C+教学课件,DOS的C+语言编程环境,基于DOS的IDEBorland公司的TurboC+Borland公司的BorlandC+许多Windows上的IDE也提供了在DOS命令行环境中编程的命令行工具。,2008-2009-2,C+教学课件,C+语言程序的开发过程,一般分成五个步骤定义程序目标设计程序编写代码编译运行、测试和调试程序,2008-2009-2,C+教学课件,C+语言程序的开发过程,定义程序目标在开始解决问题之前,程序的开发人员必须彻底了解问题是什么,对即将要创建的程序要做的事情有个清晰的认识。这需要仔细考虑以下问题程序需要什么信息程序需要执行哪些计算和操作程序应该报告什么信息例如,计算任意一个圆环的面积提出问题,明确目标圆环是什么?如何计算面积?需要什么数据?计算精度?,2008-2009-2,C+教学课件,C+语言程序的开发过程,设计程序决定程序如何去解决问题。需要考虑如何给程序提供必要的数据程序中如何表示数据用什么方法来处理数据程序如何组织程序怎样报告结果完成这个程序需要多长时间应该用一般的概念考虑设计中的问题,而不是考虑具体的代码。,2008-2009-2,C+教学课件,C+语言程序的开发过程,编写代码编写代码来实现前面的设计,即用C+语言来表示程序设计。需要开发人员熟练掌握C+语言的知识。可以在草稿纸上勾画自己的想法或书写代码,但最终必须将代码输入计算机。输入代码所采用的机制则取决于具体的编程环境。一般来说,需要使用文本编辑器(例如Windows的记事本程序)来创建一种文件,称为源文件源文件包含程序设计的C+语言表示形式(称为源程序或源代码),2008-2009-2,C+教学课件,C+语言程序的开发过程,编译把C+语言源程序转换成机器语言表示的程序。这种程序可以直接被计算机理解和执行,所以称之为可执行程序,放在可执行文件中。编译的具体细节取决于使用的编程环境。C+语言分两步完成这一工作:编译和链接。编译器将源代码转换为目标代码,并存在目标文件中。链接器将目标代码与其他代码结合起来生成可执行文件。这种把编译和链接分开来做的方法便于程序的模块化。可以分别编译程序的各个模块,然后用链接器把编译过的模块结合起来。这样,如果需要改变一个模块,则不需要重新编译所有其他模块。,2008-2009-2,C+教学课件,C+语言程序的开发过程,运行、测试和调试程序运行包含可执行程序的文件,观察运行的结果。在不同的系统中运行程序的方式可能不同。例如,Windows的控制台和资源管理器。应该对程序进行仔细的检查,看程序是否在做该做的事。比较好的做法是为验证程序的正确性设计一个测试计划。越早做越好,因为它有助于理清程序员的思路。程序中的错误被称为bug,调试(Debug)就是要发现并改正错误。,2008-2009-2,C+教学课件,2008-2009-2,C+教学课件,使用visualc+6.0IDE开发环境,2008-2009-2,C+教学课件,New(新建)对话框,2008-2009-2,C+教学课件,在客户区窗口中输入C+源程序代码,客户区,2008-2009-2,C+教学课件,Build(组建)/rebuildall进行C+源程序编译,并建立相应的文件,2008-2009-2,C+教学课件,编译的结果将会在客户区窗口输出,2008-2009-2,C+教学课件,Build(组建)/excute(执行)demo1.exe或ctrl+F5执行该程序,2008-2009-2,C+教学课件,运行结果窗口,2008-2009-2,C+教学课件,小结,面向对象程序设计的基本思想和概念C+是一种面向对象的程序设计语言C+的词法及词法规则C+程序结构的特点C+程序的实现,2008-2009-2,C+教学课件,作业:,P19-4,5,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!