C程序设计教程修改.pptx

上传人:莉*** 文档编号:73648843 上传时间:2023-02-21 格式:PPTX 页数:41 大小:158.33KB
返回 下载 相关 举报
C程序设计教程修改.pptx_第1页
第1页 / 共41页
C程序设计教程修改.pptx_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《C程序设计教程修改.pptx》由会员分享,可在线阅读,更多相关《C程序设计教程修改.pptx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、01:54:4111.程序设计语言的发展程序设计语言的发展*程序设计(编程)语言:人类与计算机交流的工具。*计算机的工作是用程序来控制的。*程序:软件对人而言:用计算机语言编写的语句序列 对机器而言:按硬件设计规范编制的指令序列(即:机器指令序列)*指令是计算机可以识别的命令。第1页/共41页01:54:412机器语言机器语言*由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言*例如:0100 0000把寄存器eax的值加1;*缺点:难懂,不易修改,移植性差*优点:可直接执行,运行效率高第2页/共41页01:54:413汇编语言汇编语言*汇编语言将机器指令映射为一些可以被人读懂的助记符

2、,如ADD、SUB等。*例如:INC EAX;(0100 0000)*不能直接执行,需要经过汇编,变成机器语言程序。*抽象层次很低,仍然是低级语言。第3页/共41页01:54:414汇编语言(续)汇编语言(续)a=3*a2*b+1汇编语言和某个特定的机器语言:mov eax,DWORD PTR a$ebp 8b 45 fclea eax,DWORD PTR eax+eax*2 8d 04 40mov ecx,DWORD PTR b$ebp 8b 4d f8add ecx,ecx 03 c9sub eax,ecx 2b c1inc eax 40mov DWORD PTR a$ebp,eax 89

3、 45 fc第4页/共41页01:54:415高级语言高级语言*高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。(eg:c,c+,Java,C#)*例如:if(x3)z=x*y;类似英语和数学表达式*不能直接执行第5页/共41页01:54:416*高级语言有两种翻译方式:1、解释方式 2、编译方式源程序解释程序运行结果源程序编译程序目标代码第6页/共41页01:54:417总结:*程序语言越低级,则必须对过程描写的越具体,指令也就越接近机器的硬件逻辑。*程序语言越高级,就越接近对问题的描述与表达,因而更直观,更容易被人们所立即。*程序语

4、言的发展,总是从低级到高级,也就是从具体描述到抽象描述,当然高级语言的抽象描述最后都自动转换成了机器的具体实现。第7页/共41页01:54:4182.C+语言发展前史语言发展前史*1954年,IBM公司John Backus设计实现FORTRAN语言,用于科学计算的“公式翻译语言”;*1966年,标准化FORTRAN语言,称为FORTRAN66;后又被更新FORTRAN77和FORTRAN90;*1959年,设计面向商业的通用语言COBOL;*1968年,标准化COBOL语言,后标准化更新;*1960年,定义ALGOL 60语言,首次引入局部变量和递归概念。第8页/共41页01:54:4192

5、.C+语言发展前史(续)语言发展前史(续)*20世纪60年代,在简化FORTRAN基础上,设计BASIC语言;*1983年推出TRUE BASIC;*1985年推出QBASIC;*1991年推出的Visual BASIC(VB)*20世纪60年代中期,设计与实现了用于人工智能研究的Lisp语言。*1967年,为儿童设计LOGO语言;*1967年,推出Simula67语言,首次提出类的概念;第9页/共41页01:54:41102.C+语言发展历史语言发展历史*1972年:贝尔实验室首次实现C语言*1980年:贝尔实验室开始对C进行改进和扩充带类的C*1983年:取名C+*1994年:制定ANSI

6、(美国国家标准化协会:American National Standards Institute)C+标准草案*1998年:C+的ANSI/ISO标准被投入使用,标准的C+第10页/共41页01:54:4111*C与C+的最大区别在于解决问题的思想方法不一样。1、C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出;对于C+,首要考虑的是如何构造一个对象模型,让这个模型能够契合对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程控制。C与与C+语言比较语言比较第11页/共41页01:54:4112 2、就语言本身而言,

7、在C中更多的是算法的概念。算法是程序设计的基础,好的设计如果没有好的算法,一样不行。3、C语言设计目标:简捷、高效。*缺点:比较适用于解决小的问题,对于大规模编程,程序模块之间的协调性差,程序的可重用性、程序的安全、健壮以及可维护性、可扩充性差。第12页/共41页01:54:41134、C是C+的子集,C不仅包括了整个C,C的全部特征、属性、优点,还有一些优点:#支持面向对象编程(OOP),也支持结构化程序设计;#修补的C语言的一些漏洞,提供更好的类型检查机制和编译分析;#生成目标程序质量高,程序执行效率较高;#提供异常处理机制,简化程序的出错处理;#函数可以重载以及使用缺省参数;#提供模板机

8、制:类模板和函数模板;第13页/共41页01:54:41143.C+编程流程编程流程1、编程过程:*一般的编程操作流程为:1、编辑(edit)2、编译(compile)3、链接(link或make或build)4、调试运行(debug或run)该过程循环往复,直至完成。编辑源程序(键入程序).cpp编译程序 .obj连接 .exe调试运行第14页/共41页01:54:4115*源程序:用源语言写的,有待翻译的程序*目标程序:也称为“结果程序”,是源程序通过翻译程序加工以后所生成的程序。第15页/共41页01:54:4116*编辑将源程序输入到计算机中,生成后缀为cpp的磁盘文件。*编译将程序的

9、源代码转换为机器语言代码。*连接将多个源程序文件以及库中的某些文件连在一起,生成一个后缀为exe的可执行文件。*运行调试第16页/共41页01:54:4117标准输出的小程序:#includeint main()std:couthello World.n;*程序不但要使计算机能理解,而且也要让人能理解,因此,上述程序最好写成有结构形式的代码:#includeint main()std:couthello World.n;第17页/共41页01:54:4118 *说明:#include:编译预处理命令,文件包含。iostream是C+为特定环境编制的标准输入/输出流类的标准库头文件,也就是说,这

10、个头文件提供了输入/输出设施。int main()是C+程序的入口,称为主函数。main是函数名,int表示整数(integer)数据类型,位于main的前面,表示main函数应该返回一个整型值。一对花括号“”是表示main的函数体。C语句以分号(;)结束第18页/共41页01:54:4119cout是标准输出设备的名称,“”是操作命令,指示将后面的数据送到显示器设备上去。:表示字符串常量,原样输出。n:控制字符,表示换行操作,控制字符是和另一个字符的组合。std是“名空间”,避免名称冲突。第19页/共41页01:54:4120/*/*ch1_1.cpp */*#include int mai

11、n()std:coutI am a student.n;/*/*ch1_2.cpp */*#include int main()int a,b,result;std:coutab;result=3*a-2*b+1;std:coutresult is“resultendl;注释编译预处理行函数第20页/共41页01:54:41212、编程风格:程序设计风格应以可读性为准则,合理的紧凑性、模块整体性、对齐、注释都是形成特定风格的因素。第21页/共41页01:54:41224.程序与算法程序与算法 1、程序:以某种计算机程序设计语言为工具编制出来的动作序列,表达人的系统性思维。是一系列逐一执行的操作

12、。(注意:每种语言都有特定的规范)对人而言:用计算机语言编写的语句序列 对机器而言:按硬件设计规范编制的指令序列(即:机器指令序列)第22页/共41页01:54:41232、算法:求特定问题的一组有限的操作序列。*算法引入原因:程序的动作序列包含了对数据的存取访问和算术运算,因此对数据的合理描述、组织、存放和读取,关系到程序运行的正确性和高效性;*目的性、抽象性、研究性;*用特定的计算机语言来描述算法,就使该算法成为特定计算机语言下的程序。同时,算法要靠程序是先来验证。第23页/共41页01:54:4124例如,我们考虑以下代数问题:一辆汽车2小时走了50英里,它的速度是多少?第一步,为得到答

13、案所需要的信息是路程和时间,也既输入信息。第二步,用到的公式:速度=路程/时间第三步,判断要得到的答案,答案是以英里每小时为单位的速度值,也就是输出信息。第24页/共41页01:54:4125#include using namespace std;int main(int argc,char*argv)double distance,hour,velocity;cindistancehour;velocity=distance/hour;coutvelocity实数的加法 -复数的加法第38页/共41页01:54:4239*优点:程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。第39页/共41页01:54:4240小结:1、C+是从C进化而来的,继承了其高效灵活性,并植入新的机制,体现其包容性和灵活性;2、学习编程,首先搞清楚编程操作流程;3、在了解程序框架之后,要学习简单的算法和数据结构;4、简单了解C+程序的过程化设计和面向对象思想;第40页/共41页01:54:4241感谢您的欣赏!第41页/共41页

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

当前位置:首页 > 应用文书 > PPT文档

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁