教学目的与要求.ppt

上传人:本田雅阁 文档编号:2540452 上传时间:2019-04-06 格式:PPT 页数:67 大小:786.01KB
返回 下载 相关 举报
教学目的与要求.ppt_第1页
第1页 / 共67页
教学目的与要求.ppt_第2页
第2页 / 共67页
教学目的与要求.ppt_第3页
第3页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《教学目的与要求.ppt》由会员分享,可在线阅读,更多相关《教学目的与要求.ppt(67页珍藏版)》请在三一文库上搜索。

1、,教学目的与要求,掌握程序设计基本技术 掌握算法及算法描述 了解C语言的起源及其特点 掌握C语言程序的基本构架,掌握用Turbo C编辑、 编译、连接和执行简单C程序的过程 掌握C语言的基本字符集与保留字 领会C语言程序设计的风格,继续,重点与难点,算法的概念、N-S图、常用算法思想 C程序构架 C语言的基本字符集与保留字,返回,返回,程序设计基本技术,程序设计语言,程序设计语言的支持环境,程序设计的基本过程,算法及算法描述,结构化程序设计,原码、反码、补码,程序设计语言,程序:在计算机语言中被定义为完成特定任务的 计算机指令的集合。,源程序:用户编写的程序。,程序设计:指用户通过编写源程序,

2、翻译源程序为 目标程序,连接目标程序与函数库,形 成运行文件并整理设计文档的全过程。,计算机指令: 指挥计算机完成某一操作的命令,由 操作码和操作数组成。,继续,计算机指令,返回,计算机指令的执行过程分为4个基本操作:,(1)取指令:从存储器中取出要执行的指令,送往 CPU内部的指令寄存器暂存。,(2)分析指令:将指令送往指令译码器,译出指令 对应的微操作。,(3)执行指令:根据指令译码器向各部件发出的控 制信号,完成指令规定的操作。,(4)停止操作:检查是否有复位信号、中断请求、 DMA传送等,为执行下一指令作准 备。,程序设计语言,程序:在计算机语言中被定义为完成特定任务的 计算机指令的集

3、合。,源程序:用户编写的程序。,程序设计:指用户通过编写源程序,翻译源程序为 目标程序,连接目标程序与函数库,形 成运行文件并整理设计文档的全过程。,计算机指令: 指挥计算机完成某一操作的命令,由 操作码和操作数组成。,继续,程序设计语言:计算机能够接受、能够理解的全部 指令的集合。,程序设计语言,继续,程序设计语言先后经历了以下几个阶段:,机器语言,汇编语言,高级语言,专用语言,面向对象的程序设计语言,程序设计语言,返回,程序设计语言先后经历了以下几个阶段:,机器语言,汇编语言,高级语言,专用语言,面向对象的程序设计语言,机器语言,继续,机器语言是某一种CPU可以识别的一组由0和1序 列构成

4、的指令码。,每条机器指令代表计算机可执行的一个基本操作, 不同的计算机的机器指令系统不相同,其对应的操作也 不相同,这种形式的指令系统是面向机器的。,下面是某CPU指令系统中的两条指令: 10000000 加 10010000 减,机器语言,返回,用机器语言编写程序,就是从所使用的CPU的 指令系统中挑选合适的指令,组成一个指令系。,优点:可以被计算机直接理解和执行,执行速度 快。,缺点:可读性差,难于编程,容易出错,程序的 检查和调试都很困难。 通用性和可移植性差,只有熟练的计算机 专业人员才能掌握。,汇编语言,继续,为了克服机器语言读写的困难,人们用助记符 描述机器指令,称为汇编指令。,前

5、面的两条机器指令可以写为 AB=A 或 ADD A,B AB=A 或 SUB A,B,计算机不能直接执行汇编指令,需要用专门的 汇编程序翻译成机器指令后才能在计算机上执行。,汇编程序:将汇编指令翻译成机器指令的程序。,汇编语言:一种用助记符表示的程序设计语言。,汇编语言,返回,汇编语言源程序,汇编程序,目标程序,机器语言,汇编语言,低级语言(面向机器的语言),优点:比机器语言更易于理解和记忆。,高级语言,继续,高级语言:更接近于自然语言或数学语言的程 序设计语言,又称为算法语言。,优点:程序具有可移植性。,常用的高级语言有Basic、Fortran、Pascal、 C、Foxbase等。,高级

6、语言不能直接在计算机上执行,计算机只 能识别机器语言程序。高级语言编写的源程序必须 被翻译成二进制代码的程序,计算机才能执行。,翻译方式,返回,翻译的方式有两种:,编译方式,解释方式,高级语言 源程序,编译程序,中间代码 目标模块,连接程序,函数库,机器指令 运行程序,一次性翻译后再执行,高级语言 源程序,解释程序,函数库,机器指令 运行程序,边翻译边执行,专用语言,返回,专用语言:为解决特定的应用而设计的非 过程化的程序设计语言。,使用这类语言编程不需要描述为解决 某一问题所需的具体实现过程,只需指出 “做什么”即可。,面向对象的程序设计语言,继续,对象:指人们进行研究的事情和物体。每个对象

7、 都有各自的属性、方法、集合或事件。,属性:用来描述对象的特性。,方法:用来描述执行对象的动作。,集合:指多个对象构成的整体值。,事件:指用户作用于对象的某一操作。,面向对象的程序设计语言,返回,面向对象的程序设计:是将对象的属性值(数据)和 作用在这些数据上的方法结合 在一起的程序设计方法。,对象包括数据和操作这些数据的方法,由事件驱 动操作这些对象。,所有的对象都属于特定的“类”(class),或者说 每一个对象都是类的一个实例。因而在面向对象的程 序设计语言中用类(class)数据类型组织对象,一个 类提供一组值和作用于这些值的操作。,程序设计语言的支持环境,继续,操作系统是各种软件中最

8、重要的一种,或者说它 是各种软件的核心与基础。,操作系统的作用是有效地组织和利用计算机的软、 硬件资源,使各种程序能在操作系统的管理下协调工 作。,操作系统的类型有许多种,例如有分时操作系统、 批处理操作系统、多道作业操作系统等。,程序设计语言的支持环境,继续,用户源程序,高级语言编译系统,操作系统,计算机 (裸机),程序设计语言的支持环境,返回,操作系统的功能主要包括:cpu管理、存储管理、 文件管理、设备管理、作业管理等。,目前最广泛流行的操作系统有UNIX、MS-DOS、 Windows等。,使用高级语言编写源程序时应当注意程序的运行 环境,要充分运用所使用的计算机系统提供的软件环 境支

9、持,并了解源程序在所运行的操作系统管理下是 如何工作的。,继续,程序设计的基本过程,确定问题 的要求,建立数 学模型,算法 设计,编写源 程序,编译调 试程序,运行 程序,分析输 出结果,整理 文档,返回,程序设计的基本过程,确定问题 的要求,建立数 学模型,算法 设计,编写源 程序,编译调 试程序,运行 程序,分析输 出结果,整理 文档,返回,确定问题要求,程序设计的第一步是对实际问题 进行分析,明确问题的已知条件,从 中获得必要的输入数据,明确问题要 求做什么,需要什么样的数据输出。,返回,建立数学模型,把错综复杂的实际问题进行简化抽象,用数学 公式来描述实际问题的运动和变化过程,称为建立

10、 数学模型的过程。,在建立数学模型的过程中,分析问题的要求、 确定解决问题的目标、明确问题的输入数据和输出 信息、理解问题的约束限制条件,是选择制定数学 模型、建立数学模型的关键步骤,是解决问题的关 键所在。,返回,算法设计,计算方法与算法的区别:,计算方法:指求解复杂函数的数值分析 方法。,算法:指为解决某一特定问题而进行一 步一步有穷的操作过程,是一组 规则的集合,可以用传统流程图、 结构化流程图等描述。,返回,编写源程序,源程序是用计算机语言描述的算法, 编写源程序的过程是用计算机语言替换 流程图的描述方式,将算法描述工具表 示的算法转换成计算机语言来描述。,返回,编译调试程序,使用软件

11、厂商生产的编译程序调试 源程序,修改程序中的错误,通过反复 编译调试,直到没有语法错误为止。,返回,运行程序,将编译源程序形成的目标文件与函 数库连接,形成运行文件,运行该程序, 检查程序的输出结果是否正确,如发现 错误,检查程序的逻辑是否正确,主要 解决算法设计错误。,返回,分析输出结果,对照问题要求,分析输出结果,检查是否达 到问题要求的功能和精度要求,输出信息的格式 是否符合要求。,输入不同的数据,检查是否还存在逻辑错误。,出错后,分清是算法还是数学模型选择错误, 修改源程序后再编译调试程序,继续一步一步执 行。,返回,整理文档,当程序准确无误后,要认真地整理 文档,包括设计要求、设计思

12、路、设计 过程、使用的算法、数据结构、输出信 息及格式,在源程序中要用注释语句加 上必要的说明。,继续,算法及算法描述,算法数据结构程序,算法是为解决某一特定问题而进 行一步一步操作过程的精确描述,是 有限步、可执行、有确定结果的操作 序列。,继续,算法及算法描述,例1 求12310的值。,main( ) int sum,i; sum=0; i=1; while(i=10) sum=sum+i; i=i+1; printf(“%dn”,sum); ,一个 循环,算法的特征:,1.有穷性,2.确定性,3.有效性,4.有零个或多个输入,5.有一个或多个输出,继续,算法及算法描述,算法的三种基本结构

13、:,1.顺序结构,它是最基本、最简单的程序结构,在此结构内各 语块是按照它们出现的先后次序依次执行的。,2.分支选择结构,首先根据给定的条件判断条件是否为真,条件为 真,选择满足条件的路径(语句块)执行,条件为假, 选择不满足条件的路径(语句块)执行。,3.循环结构,这种结构是将一条或多条语句重复地执行若干遍。 当满足(或不满足)某个指定的条件时反复执行语句 块(循环体),否则跳出循环,执行循环体外的下一 条语句。,算法的描述,描述算法的常用工具有如下几种:,自然语言,传统流程图,N-S流程图,伪代码,返回,自然语言,返回,它是指对人们日常使用的语言加以简化来描述算法。,例2 用自然语言描述求

14、和算法,求1+2+3+10。,传统流程图,继续,它是用不同几何形状的线框、流线和文字说明来描述算法。,传统流程图的常用符号及其意义如下表所示。,传统流程图,返回,例3 用传统流程图描述求1+2+3+10的算法,开始,n=10,输出sum,结束,N,Y,N-S流程图,继续,N-S流程图又称结构化流程图,它是由 一系列矩形框顺序排列而成,各个矩形框只 能顺序执行,每一个矩形框表示一个基本结 构。矩形框内的分割线将矩形框分割成不同 的部分,形成三种基本结构: 顺序结构、分支结构、循环结构。,N-S流程图,继续,N-S流程图的基本结构框,语句块A,语句块B,条件,是,否,语句块A,语句块B,当条件满足

15、,语句块,语句块,直到条件满足,N-S流程图,返回,例4 用N-S流程图画出求1+2+3+10的算法,伪代码,返回,伪代码是一种过程设计语言,它没有严格的语法 规则,可以把算法写得很具体,也可以把算法写得很 概括,使用灵活,形式接近高级语言。,例5 用伪代码描述求1+2+3+10的算法,为sum、n赋初值: DO WHILE (n10) sum=sum+n n=n+1 LOOP 输出sum的值: End,结构化程序设计,继续,结构化程序设计强调程序结构和程序设计方法,使用 单一入口和单一出口的三种基本结构,即顺序结构、选择 结构、循环结构组成程序的算法。,其设计思想是“自顶向下,逐步求精”。,

16、问题,工程,若干 子项目,分解,若干 层次,功能单一、 相对独立 的问题处 理模块,一个问题 处理模块,设计,一个函数 (或过程),编写程 序框架,编写每一个程序 结构和每一条语句,只使用三种基本结构来描述 模块内部的结构只有单一的入口和单一的出口 模块与外部联系也只有单一的入口和单一的出口,结构化程序设计,返回,完成编程后,应该“自底向上,逐步求证”,检查 每条语句、每个程序结构的逻辑及每个模块的功能 是否正确,直到检查整个程序是否达到问题的要求, 通过编辑、编译、连接、运行、调试检查程序是否 达到精度要求。,结构化程序的基本特点: (1)只有一个入口。 (2)只有一个出口。 (3)对每一个

17、处理框都有一条从入口到出口的 路径通过。 (4)不包括死循环。,原码、反码、补码,返回,计算机处理有符号数时,使用最高位作符号位, “0”表示正号,“1”表示负号。,原码,反码,补码,原 码,返回,设X为带有符号的二进制数,X的绝对值用|X|表示, 则原码定义为:,正数的原码符号位为0,值为X;负数的原码符号 位为1,值为该数的绝对值。,例:已知X11101001,X21101001, Y10000000,分别求原码X1原、X2原、Y1原。,解: X1原01101001,X2原11101001,Y1原00000000,八位二进制数原码表示范围为127127,反 码,返回,设X为带有符号的二进制

18、数,X的绝对值用|X|表示。 2n+11为二进制数编码的全1状态。反码定义为:,正数的反码符号位为0,值为X;负数的反码符号 位为1,数值逐位取反。,例:已知X11101001,X21101001, Y10000000,分别求原码X1反、X2反、Y1反。,解: X1反01101001,X2反10010110,Y1反00000000,补 码,继续,设X为带有符号的二进制数,X的绝对值用|X|表示, 2n+1表示模。补码的定义为:,正数的补码符号位为0,值为X;负数的补码符号 位为1,值为反码加1。,例:已知X11101001,X21101001, Y10000000,分别求原码X1补、X2补、Y

19、1补。,解: X1补01101001,X2补10010111,Y1补00000000,补 码,返回,补码转化为原码表示方法:X原 X补 补。,例:已知X补10010111,求X原。,解:X原 X补补10010111补11101001,补码的运算规则。两个二进制数之和的补码等于该 两数的补码之和,即: XY补X补Y补,例:已知X35,Y19,试求XY补。,解:X补=00100011 Y补00010011,X+Y补x补+Y补001000110001001100110110,X-Y补x补+-Y补001000111110110100010000,C语言程序在运行时,有符号数是以补码形式在计算机 内存存

20、储单元中存放的。,C语言概述,返回,c语言的起源及其特点,c语言程序的基本构架及执行过程,c语言基本字符集与保留字,C语言的起源,继续,c语言是在B语言的基础上发展起来的。,1972年,贝尔实验室的学者D.M.Ritchie在B语言的基 础上设计了c语言。,1983年,美国国家标准协会(ANSI)对c语言进行了 扩充和规范,指定了新的标准,称为ANSI C。,Turbo C是美国Borland公司推出的,在微机上使用c 语言的编译系统带有一个易学易用的集成开发环境, 编译生成的可执行文件能在DOS环境中使用。,1989年,ISO/IEC提出了国际标准草案,1990年公布 了c语言的正式标准。,

21、C语言的特点,返回,(1)c语言是一种具有低级语言功能的高级语言。,(2)c语言是结构化语言。,(3)c语言是模块化语言。,(4)c语言具有种类丰富的运算符。,(5)数据结构丰富。,(6)具有较高的移植性。,(7)语言简洁、紧凑,使用灵活、方便。,C语言程序的基本构架,继续,例1 显示“Programming is fun.”的c语言程序。,main( ) printf(“Programming is fun.n”); ,圆括号内写函数参数,不能省略。,说明:(1)一个完整的程序必须有一个main函数,它称为主函数,程序 总是从main函数开始执行的。,函数体,说明部分,执行部分,(3)用c语

22、言进行程序设计时,应优先采用c语言函数库中的函数。,(4)函数printf由主函数main调用, 形成如图的层次结构。,n,作用是“回车换行”,C语言程序的基本构架,继续,设计函数的基本方法是从主函数开始,按调用关系,自上而下地进行。,例2 求三个数的平均值。,按自顶向下的方法可写出主函数如下: main( ) float a,b,c,ave; a=3.5; b=4.6; c=7.9; ave=average(a,b,c); printf(“average=%f”,ave); ,/声明:名字a,b,c,ave为实型变量/,/对a,b,c赋值/,/调用average函数,得到的值赋给ave/,/

23、输出ave的值/,说明:(1)所谓变量,就是在程序运行过程中值可以变化的量,实际上是对 存储空间的指定。,(2)c语言约定,名字后面带有一对圆括号者,均为函数名,如main、 printf都是函数名。,关键字,格式字符,C语言程序的基本构架,继续,可以这样定义average函数: float average(float x,float y,float z) float aver; aver=(x+y+z)/3; return(aver); ,/函数头,声明参数x,y,z为实型/,/声明变量aver为实型/,说明:1.函数头用来说明函数的名字,返回值的类型,对什么样的 数据(参数)进行操作以及参

24、数的类型。,2.函数定义中所使用的参数(x,y,z)称为形式参数(简称形 参),只用于描述被加工的数据是一种什么样的角色,以 及如何对它们进行加工,并不说明哪些具体的数据被加工。 具体的数据是由调用语句在调用时传递的。,C语言程序的基本构架,继续,根据上述分析,将main函数和自己定义的average函数组成 一个完整的求三个数的平均值的程序:,float average(float x,float y,float z) float aver; aver=(x+y+z)/3; return(aver); main( ) float a,b,c,ave; a=3.5; b=4.6; c=7.9;

25、 ave=average(a,b,c); printf(“average=%f”,ave); ,C语言程序的基本构架,继续,例3 求任意三个数的平均值。,main( ) float average(float x,float y,float z); float a,b,c,ave; scanf(“%f,%f,%f”, a, b,c); ave=average(a,b,c); printf(“average=%fn”,ave); float average(float x,float y,float z) float aver; aver=(x+y+z)/3; return(aver); ,/函

26、数声明/,/定义函数/,格式输入函数,a, b,c,把从键盘输入的值送到地址a,b,c所指出的单元中去。“”是“地址运算符”或“取地址符”。,表示输入的数为实数,且每两个输入的数据间以逗号相隔。,如果main函数写在被调用函数前面,则要先声明被调用函数; 如果main函数写在被调用函数后面,则不用声明被调用函数。,C语言程序的基本构架,继续,(1)c程序的组成。,一个c程序可以由一个或多个具有相对独立功 能的函数构成,其中有且仅有一个以main命 名的主函数。,程序从main函数开始执行,直到执行完函数 体语句运行结束。,其它子函数由函数调用语句引用,运行完子 函数后,返回到调用处继续执行后续

27、语句。,函数与函数之间用参数传递信息,子函数只 能被主函数或其它子函数调用,不能单独运 行。,C语言程序的基本构架,继续,(2)函数的组成。,一般形式为:,函数类型,函数名,( ),形参类型,函数形参,数据定义部分,函数执行部分,函数头部,函数体,可以没有参数,C语言程序的基本构架,继续,(3)c函数库。,c函数,标准函数,用户定义 函数,由编译程序提供的,其定义是以编译 后的目标代码形式存放在系统的函数 库中,称为c函数库。用户编程时直 接调用标准函数,如scanf、printf等。,必须由用户在源程序中编写函数定义, 根据模块功能,设计和编写用户定义 的函数语句,供其它函数调用。,注意:用

28、户定义函数与调用函数的函数名必须一致,两者 参数的个数与参数的类型必须按位置相同放置。,C语言程序的基本构架,返回,(4)书写格式。,一般使用小写英文字母(大小写敏感)。,使用分号“;”作为语句的终止符或分隔符。,一条语句可以写成多行,多条语句也可以写成 一行。,用大括弧对“ ”表示程序的结构层次范围。,c语言的书写支持缩进格式。,用/ /对程序的任何部分作注释。,一个c程序总是从main函数开始执行,而不论 main函数在程序的位置如何。,C语言基本字符集,继续,c语言的基本字符集是编写源程序时准用字符的 集合,c语言编译程序能够识别集合中的字符。,c语言基本字符包括:,(1)大写字母A B

29、 C D Z,小写字母a b c dz。,(2)数字0 1 2 3 4 5 6 7 8 9。,(3)图形符号 ! # % 。,(4)转义字符 n t a b f r v ” ddd xhh。,C语言基本字符集,继续,基本字符集中的字符组合成一个个具有独立意 义的最小语法单位,称之为单词。,组成c语言的单词有六类:保留字(关键字)、 标识符、常数、标点字符、运算符、分隔符。,(1)保留字:又称关键字,是由编译程序预定义具 有固定含义的单词。保留字有特定的 含义和专门的用途,用户不能用保留 字作为常量、变量、类型或函数的名 字。,C语言基本字符集,继续,(2)标识符:是程序员为程序中的一些要素所取

30、 的名字,如变量名、函数名、宏等。,c语言规定标识符号可以由字母、数 字和下划线组成,并且规定首字符 必须是字母或下划线。,PRICE、sum、_567、Select_sort,合法,0_max、long、ABC.,不合法,C语言基本字符集,继续,注意:1.对于标识符有效字符的个数,Turbo C允许 32个字符。,2.c语言属字母大小写敏感语言,max与Max 是不同的标识符。,3.选择含义明确的标识符,使它能明确地提示 标识符所代表的实体。,4.不用大量相似的名字,如EM、EN等,要正 确区别0与o,1与l等。,C语言基本字符集,返回,()常数:各种类型的常数,如20,a和“EFG”等。,()标点符号:c语言的标点符号共11个: # ( ) ,; “,()运算符:如、=等。,()分隔符(定界符):包括空格、回车键、 ab键、 。,作 业,返回,实验教程: P10: 1.4 习题: 一、判断题; 二、填空题; 三、选择题,

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

当前位置:首页 > 其他


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