ImageVerifierCode 换一换
格式:PPT , 页数:59 ,大小:1.60MB ,
资源ID:2678387      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2678387.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北京交通大学C语言课件第1章.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北京交通大学C语言课件第1章.ppt

1、实践是能力赖以生长的土壤!实践是能力赖以生长的土壤!高级语言程序设计高级语言程序设计主讲教师:丁丁主讲教师:丁丁计算机与信息技术学院计算机与信息技术学院第一章第一章程序设计与程序设计与C语言语言主要内容主要内容n程序和程序语言程序和程序语言q程序和程序语言程序和程序语言q算法及其描述工具算法及其描述工具n程序设计方法程序设计方法n问题与程序设计问题与程序设计2022/11/6高级高级语言程序设计语言程序设计41.1 程序和程序语言程序和程序语言例:到图书馆借参考书例:到图书馆借参考书1)进入图书馆;进入图书馆;2)查书目;查书目;3)填写索书单;填写索书单;4)如果书未借出如果书未借出 那么:

2、交图书馆工作人员取书;办理借书手续;到那么:交图书馆工作人员取书;办理借书手续;到5;5)如果还需借其它书如果还需借其它书,回到回到2;否则到否则到6;6)离开图书馆。离开图书馆。“程序程序”(program)通常指完成某些事务的一种既定方式通常指完成某些事务的一种既定方式和过程。和过程。2022/11/6高级高级语言程序设计语言程序设计5一些直观特征一些直观特征n按部就班地进行;按部就班地进行;n开始与结束;开始与结束;n完成某项具体任务;完成某项具体任务;n需要用某种记法形式描述(计算机程序需要用某种需要用某种记法形式描述(计算机程序需要用某种精确定义的形式描述);精确定义的形式描述);n

3、是在一些基本动作的基础上描述的;是在一些基本动作的基础上描述的;n不同的描述粒度(细节程度);不同的描述粒度(细节程度);n 2022/11/6高级高级语言程序设计语言程序设计61 程序程序n程序:规定了计算机执行的动作和动作的顺序。程序:规定了计算机执行的动作和动作的顺序。n一个程序应包括以下两方面的内容:一个程序应包括以下两方面的内容:q对数据的描述:在程序中要指定数据的类型和数据的组织形式,即对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构数据结构。q对操作的描述:即操作步骤,也就是对操作的描述:即操作步骤,也就是算法算法(解决问题的方法和步骤)(解决问题的方法和步骤)

4、。q数据是操作的对象,操作的目的是对数据进行加工处理,以得到期数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。望的结果。n程序程序 数据结构数据结构 算法算法q著名计算机科学家著名计算机科学家Nikiklaus Wirthn作为程序设计人员,必须认真考虑和设计数据结构和操作步聚作为程序设计人员,必须认真考虑和设计数据结构和操作步聚2022/11/6高级高级语言程序设计语言程序设计72022/11/6高级高级语言程序设计语言程序设计8例:求例:求1 12 23 34 45 5 C C语言编写的程序:语言编写的程序:#include void main()int i,t;t=1

5、;i=2;t=t*i;i=3;t=t*i;i=4;t=t*i;i=5;t=t*i;printf(“%dn”,t);数据:数据:1 1,2 2,3 3,4 4,5 5数据结构:数据结构:int int 类型类型算法:算法:步骤步骤1 1:先求:先求1 12 2,得到结果,得到结果2 2 步骤步骤2 2:将步骤:将步骤1 1得到的乘积得到的乘积2 2再再 乘以乘以3 3,得到结果,得到结果6 6;步骤步骤3 3:将:将6 6再乘以再乘以4 4,得,得2424 步骤步骤4 4:将:将2424再乘以再乘以5 5,得,得120120太繁琐2022/11/6高级高级语言程序设计语言程序设计9设变量设变量t

6、 t为被乘数,为被乘数,i i为乘数。为乘数。用循环算法来求结果用循环算法来求结果,算法可改写为:算法可改写为:C C语言编写的程序:语言编写的程序:#include Void main()int i,t;t=1;i=2;while(i ti=t步骤步骤4 4:i+1=ii+1=i步骤步骤5 5:如果:如果i i不大于不大于5 5,返,返回步骤回步骤3 3;否则结束。最后;否则结束。最后得到得到t t的值就是的值就是5!5!的值的值。简练2 算法算法n算法:解决问题的方法和步骤算法:解决问题的方法和步骤 q解决一个问题的过程就是实现一个算法的过程。解决一个问题的过程就是实现一个算法的过程。n算

7、法分为两大类:算法分为两大类:q数值运算:如解方程、求定积分数值运算:如解方程、求定积分q非数值运算:如排序、检索、绘图非数值运算:如排序、检索、绘图2022/11/6高级高级语言程序设计语言程序设计11例:用公式例:用公式y=x2-2x+3计算计算x=0,1,2,3,100 所所对应的对应的y值,使用如下算法:值,使用如下算法:(1)置置x为为0;(2)置置x的上界的上界n=100;(3)当当xn时,重复执行时,重复执行3.1,3.2,3.3步,否则,算法停止。步,否则,算法停止。(3.1)用公式计算用公式计算y值;值;(3.2)打印一组打印一组x和和y的值;的值;(3.3)x值增加值增加1

8、。2022/11/6高级高级语言程序设计语言程序设计122022/11/6高级高级语言程序设计语言程序设计13算法的算法的5个特性个特性n有穷性:有穷性:即算法通过有限步骤后能够结束n确定性:确定性:无二义性,算法必须具有清晰的定义、不能存在任何的模糊n有零个或多个输入有零个或多个输入n有一个或多个输出有一个或多个输出n可行性:可行性:即算法的每一步都是可执行的同一个问题可以有多种算法同一个问题可以有多种算法2022/11/6高级高级语言程序设计语言程序设计14算法的描述工具算法的描述工具n(1)流程图(传统流程图)流程图(传统流程图)n(2)结构流程图()结构流程图(N-S结构图)结构图)n

9、(3)伪代码)伪代码2022/11/6高级高级语言程序设计语言程序设计15算法的描述工具:流程图算法的描述工具:流程图n用一些图框表示各种操作,形象直观,易于理解用一些图框表示各种操作,形象直观,易于理解n ANSI规定一些常用的流程图符号规定一些常用的流程图符号 n一个流程图包括以下一个流程图包括以下几部分:几部分:q表示相应操作的框表示相应操作的框 q带箭头的流程线带箭头的流程线 q框内外必要的说明文字框内外必要的说明文字 x=nx=0,n=100计算计算y=x*x-2*x+3打印打印x,yx=x+1开始开始结束结束真真假假2022/11/6高级高级语言程序设计语言程序设计162022/1

10、1/6高级高级语言程序设计语言程序设计17算法的描述工具:算法的描述工具:N-S图图n美国学者美国学者I.Nassi和和B.Shneiderman提提出的一种新的流程出的一种新的流程图图n全部算法写在一个全部算法写在一个矩形框内矩形框内,由一些,由一些基本的框组成一个基本的框组成一个大的框,称大的框,称N-S图图x=0,n=100 x=n计算计算y=x*x-2*x+3打印打印x,yx=x+12022/11/6高级高级语言程序设计语言程序设计18算法的描述工具:伪码算法的描述工具:伪码n概念概念:伪代码:伪代码(pseudo code)是用来描述算法的是用来描述算法的介于自然语言和计算机语言之间

11、的文字和符号。介于自然语言和计算机语言之间的文字和符号。n特点特点:自上而下:自上而下q每一行(或几行)表示一个基本操作;每一行(或几行)表示一个基本操作;q不用图形符号,书写方便、格式紧凑;不用图形符号,书写方便、格式紧凑;q便于向计算机语言算法(即程序)过渡。便于向计算机语言算法(即程序)过渡。n用处用处:适用于设计过程中需要反复修改时的流程:适用于设计过程中需要反复修改时的流程描述。描述。n伪码伪码 begin initialize x to zero initialize n to 100 while x=n calculate y print x,y add one to x end

12、2022/11/6高级高级语言程序设计语言程序设计19例:求例:求1+2+100的和的和i=100sum=0,i=1sum=sum+ii=i+1开始开始结束结束真真假假print sumn传统流程图传统流程图2022/11/6高级高级语言程序设计语言程序设计20例:求例:求1+2+100的和的和beginsum0,i1;while i=100 sumsum+i;ii+1;print sumendsum=0,i=1i 编译加工编译加工 执行执行使用高级语言编程:使用高级语言编程:p编程工作的效率大大提高编程工作的效率大大提高p人更容易思考和把握复杂程序的意义人更容易思考和把握复杂程序的意义p更多

13、人愿意投身于这种工作,使编程发展成为一种职业和谋更多人愿意投身于这种工作,使编程发展成为一种职业和谋生方式生方式p术语术语“程序设计语言程序设计语言”已专指已专指“高级语言高级语言”2022/11/6高级高级语言程序设计语言程序设计35n1954年到年到1957年:高级语言年:高级语言Fortran诞生诞生;n至至1960年代中,开发了年代中,开发了Algol 60,COBOL,BASIC等。还有函数式语言等。还有函数式语言LISP 等等;n1970年代开始:年代开始:Pascal 和和 C语言逐渐分别为教学科研语言逐渐分别为教学科研和软件开发用的主要语言和软件开发用的主要语言;n1980年代

14、:逻辑程序语言年代:逻辑程序语言Prolog,面向对象语言,面向对象语言Smalltalk 和后来的和后来的C+;n1995年左右的年左右的Java。高级语言的简单历史高级语言的简单历史2022/11/6高级高级语言程序设计语言程序设计36nC语言比较小,入门容易,很快就可以开始编程语言比较小,入门容易,很快就可以开始编程n有丰富的程序机制、数据机制、函数定义机制,能满足复杂有丰富的程序机制、数据机制、函数定义机制,能满足复杂程序的需要。许多常用功能通过库实现程序的需要。许多常用功能通过库实现n提供接近硬件的低级操作,广泛用于开发效率要求高的程序。提供接近硬件的低级操作,广泛用于开发效率要求高

15、的程序。被用于代替汇编语言开发底层软件被用于代替汇编语言开发底层软件n生成目标代码质量高、可移植性好,被称为生成目标代码质量高、可移植性好,被称为“中级语言中级语言”n提供了一些支持大规模复杂软件开发的机制提供了一些支持大规模复杂软件开发的机制pC 语言的工作得到世界计算机界的广泛赞许。对计算机工业和语言的工作得到世界计算机界的广泛赞许。对计算机工业和应用发展起了重要推动作用应用发展起了重要推动作用p许多新语言从许多新语言从C汲取营养。如汲取营养。如C+,Java,C#等等p语言设计者获得计算机领域最高奖语言设计者获得计算机领域最高奖图灵奖图灵奖C语言的特点语言的特点nC语言语言1973年由贝

16、尔实验室的年由贝尔实验室的Dennis Ritchie 设计,目标是书设计,目标是书写操作系统和其他系统程序。写操作系统和其他系统程序。nC语言最早用于写语言最早用于写UNIX系统系统。70年代成为年代成为UNIX的标准开发的标准开发语言,随语言,随UNIX流行而被广泛接受。流行而被广泛接受。n80年代被搬到各种机器的许多操作系统上,逐渐成为一种开年代被搬到各种机器的许多操作系统上,逐渐成为一种开发系统程序和复杂软件的通用语言。发系统程序和复杂软件的通用语言。n后来成为使用最广泛的系统开发语言。人们用后来成为使用最广泛的系统开发语言。人们用C开发各种程开发各种程序,从简单应用到极其复杂的大型软件。序,从简单应用到极其复杂的大型软件。n各种计算机都有可用的各种计算机都有可用的C语言系统。语言系统。C语言简介语言简介2022/11/6高级高级语言程序设计语言程序设计38标准化标准化应用发展要求应用发展要求C成为更安全可靠、不依赖具体机器或操作系统成为更安全可靠、不依赖具体机器或操作系统的标准语言。的标准语言。ANSI在在80年代开始标准化工作,年代开始标准化工作,1988年颁布年颁布ANS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1