C语言ppt课件第1章.ppt
《C语言ppt课件第1章.ppt》由会员分享,可在线阅读,更多相关《C语言ppt课件第1章.ppt(59页珍藏版)》请在三一办公上搜索。
1、实践是能力赖以生长的土壤!,高级语言程序设计,主讲教师:丁丁计算机与信息技术学院,第一章程序设计与C语言,主要内容,程序和程序语言程序和程序语言算法及其描述工具程序设计方法问题与程序设计,2022/11/30,高级语言程序设计,4,1.1 程序和程序语言,例:到图书馆借参考书,1) 进入图书馆;2 ) 查书目;3 ) 填写索书单;4 ) 如果书未借出 那么:交图书馆工作人员取书;办理借书手续;到5;5) 如果还需借其它书,回到2;否则到6;6 ) 离开图书馆。,“程序”(program)通常指完成某些事务的一种既定方式和过程。,2022/11/30,高级语言程序设计,5,一些直观特征,按部就班
2、地进行;开始与结束;完成某项具体任务;需要用某种记法形式描述(计算机程序需要用某种精确定义的形式描述);是在一些基本动作的基础上描述的;不同的描述粒度(细节程度); ,2022/11/30,高级语言程序设计,6,1 程序,程序:规定了计算机执行的动作和动作的顺序。一个程序应包括以下两方面的内容:对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构。对操作的描述:即操作步骤,也就是算法(解决问题的方法和步骤)。数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。程序 数据结构 算法著名计算机科学家Nikiklaus Wirth作为程序设计人员,必须认真考虑和设计数据
3、结构和操作步聚,2022/11/30,高级语言程序设计,7,2022/11/30,高级语言程序设计,8,例:求12345,C语言编写的程序:#include void main( ) int i,t; t=1; i=2; t=t*i; i=3; t=t*i; i=4; t=t*i; i=5; t=t*i; printf(“%dn”,t);,数据:1,2,3,4,5数据结构:int 类型,算法: 步骤1:先求12,得到结果2 步骤2:将步骤1得到的乘积2再 乘以3,得到结果6; 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120,2022/11/30,高级语言程序设计,9,设变量t为
4、被乘数,i为乘数。用循环算法来求结果, 算法可改写为:,C语言编写的程序:#include Void main( )int i,t; t=1; i=2;while(i=5) t=t*i; i=i+1;printf(“%dn”,t);,步骤1:t=1步骤2:i=2步骤3:ti = t步骤4:i+1 = i步骤5:如果i不大于5,返回步骤3;否则结束。最后得到t的值就是5!的值。,硬件层面上的程序是机器指令的序列。程序执行:将程序存入内存,通知CPU第一条指令的地址。命令它“开始”!一般情况下,CPU执行完一条指令后,自动取出下一条指令,并如此继续下去。转跳指令明确指定下一条指令的位置,人可以基于
5、转跳指令描述复杂的执行流程。人命令计算机去执行一个程序,计算机就会一丝不苟地按这个程序的内容,一条一条指令执行,直至程序结束(指令执行到了最后,或者遇到明确的停止指令)。,2022/11/30,高级语言程序设计,10,程序的执行,2 算法,算法:解决问题的方法和步骤 解决一个问题的过程就是实现一个算法的过程。算法分为两大类:数值运算:如解方程、求定积分非数值运算:如排序、检索、绘图,2022/11/30,高级语言程序设计,11,例:用公式y=x2-2x+3计算x=0,1,2,3, 100 所对应的y值,使用如下算法: (1) 置x为0; (2) 置x的上界n=100; (3) 当xn时,重复执
6、行3.1,3.2,3.3步,否则,算法停止。 (3.1) 用公式计算y值; (3.2) 打印一组x和y的值; (3.3) x值增加1。,2022/11/30,高级语言程序设计,12,2022/11/30,高级语言程序设计,13,算法的5个特性,有穷性:即算法通过有限步骤后能够结束确定性:无二义性,算法必须具有清晰的定义、不能存在任何的模糊有零个或多个输入有一个或多个输出可行性:即算法的每一步都是可执行的,同一个问题可以有多种算法,2022/11/30,高级语言程序设计,14,算法的描述工具,(1)流程图(传统流程图)(2)结构流程图(N-S结构图)(3)伪代码,2022/11/30,高级语言程
7、序设计,15,算法的描述工具:流程图,用一些图框表示各种操作,形象直观,易于理解 ANSI规定一些常用的流程图符号,一个流程图包括以下几部分: 表示相应操作的框 带箭头的流程线 框内外必要的说明文字,x=n,x=0, n=100,计算y=x*x-2*x+3打印x,yx=x+1,开始,结束,真,假,2022/11/30,高级语言程序设计,16,2022/11/30,高级语言程序设计,17,算法的描述工具:N-S图,美国学者I.Nassi和B.Shneiderman提出的一种新的流程图全部算法写在一个矩形框内,由一些基本的框组成一个大的框,称N-S图,x=0, n=100,x=n,计算y=x*x-
8、2*x+3打印x,yx=x+1,2022/11/30,高级语言程序设计,18,算法的描述工具:伪码,概念:伪代码(pseudo code)是用来描述算法的介于自然语言和计算机语言之间的文字和符号。特点:自上而下每一行(或几行)表示一个基本操作;不用图形符号,书写方便、格式紧凑;便于向计算机语言算法(即程序)过渡。用处:适用于设计过程中需要反复修改时的流程描述。,伪码 begin initialize x to zero initialize n to 100 while x=n calculate y print x, y add one to x end,2022/11/30,高级语言程序设
9、计,19,例:求1+2+100的和,i=100,sum=0, i=1,sum=sum+ii=i+1,开始,结束,真,假,print sum,传统流程图,2022/11/30,高级语言程序设计,20,例:求1+2+100的和,beginsum0, i1;while i=100 sumsum+i; ii+1;print sumend,sum=0, i=1,i=100,sum=sum+ii=i+1,print sum,NS图,伪代码,2022/11/30,高级语言程序设计,21,课堂练习1,请为246200设计算法并画流程图,2022/11/30,高级语言程序设计,22,课堂练习2,判断某一年是否为
10、闰年能被400整除能被4整除,但不能被100整除,2022/11/30,高级语言程序设计,23,3 程序设计语言,算法是对所解决问题的精确描述,程序设计语言是计算机可处理的代码,是人与计算机交流的最基本最重要的媒介;利用程序设计语言将算法转化为源程序,通过计算机处理解决问题。,2022/11/30,高级语言程序设计,24,计算机与人沟通,2022/11/30,高级语言程序设计,25,计算机与人沟通,2022/11/30,高级语言程序设计,26,计算机与人沟通,2022/11/30,高级语言程序设计,27,计算机与人沟通,2022/11/30,高级语言程序设计,28,计算机与人沟通,人和计算机通
11、信使用的语言为计算机语言,2022/11/30,高级语言程序设计,29,面向机器的语言,程序设计语言的产生发展,CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减,用助记符号描述的指令系统如 ADD A, B,接近于人类的自然语言和数学语言如:c=a+b,面向过程的语言算法语言Basic, Fortan,Pascal,C语言等,Java,C+等,2022/11/30,高级语言程序设计,30,机器语言和程序,机器语言是机器指令形成的语言;形式为二进制编码,机器可直接执行,0000000100000000100000000001000100001010000
12、00101000000000001000000010001000011000000010000000000000100000010000000001110,数据装入寄存器0数据装入寄存器1寄存器0与1的数据乘数据装入寄存器1寄存器0与1的数据加保存寄存器0里的数据,难写难读,不易编程,与机器有关、程序开发效率极低。,2022/11/30,高级语言程序设计,31,汇编语言和程序,汇编语言:采用助记的符号形式,有利于人的阅读和使用。汇编指令与机器指令一一对应,load 0 aload 1 bmult 0 1load 1 cadd 0 1save 0 d,将单元a的数据装入寄存器0将单元b的数据装入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 ppt 课件

链接地址:https://www.31ppt.com/p-1481285.html