教学目的与要求ppt课件_第1页
教学目的与要求ppt课件_第2页
教学目的与要求ppt课件_第3页
教学目的与要求ppt课件_第4页
教学目的与要求ppt课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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的指令系统中挑选适宜的指令,组成一个指令系。优点:可以被计算机直接了解和执行,执行速度 快。缺陷:可读性差,难于编程,容易出错,程序的 检查和调试都很困难。 通用性和可移植性差,只需熟练的计算机 专业人员才干掌握。汇编言语继续 为了抑制机器言语读写的困难,人们用助记符 描画机器指令,称为汇编指令。前面的两条机器指令可以写为 AB=A 或 ADD A,B AB=A 或 SUB A,B 计算机不能直接执行汇编指令,需求用专门

5、的汇编程序翻译成机器指令后才干在计算机上执行。汇编程序:将汇编指令翻译成机器指令的程序。汇编言语:一种用助记符表示的程序设计言语。汇编言语前往汇编言语源程序汇编程序目的程序机器言语汇编言语低级言语面向机器的言语优点:比机器言语更易于了解和记忆。高级言语继续 高级言语:更接近于自然言语或数学言语的程 序设计言语,又称为算法言语。优点:程序具有可移植性。 常用的高级言语有Basic、Fortran、Pascal、C、Foxbase等。 高级言语不能直接在计算机上执行,计算机只能识别机器言语程序。高级言语编写的源程序必需被翻译成二进制代码的程序,计算机才干执行。翻译方式前往翻译的方式有两种:编译方式

6、解释方式高级言语源程序编译程序中间代码目的模块衔接程序函数库机器指令运转程序一次性翻译后再执行高级言语源程序解释程序函数库机器指令运转程序边翻译边执行公用言语前往公用言语:为处理特定的运用而设计的非 过程化的程序设计言语。 运用这类言语编程不需求描画为处理某一问题所需的详细实现过程,只需指出“做什么即可。面向对象的程序设计言语继续对象:指人们进展研讨的事情和物体。每个对象 都有各自的属性、方法、集合或事件。属性:用来描画对象的特性。方法:用来描画执行对象的动作。集合:指多个对象构成的整体值。事件:指用户作用于对象的某一操作。面向对象的程序设计言语前往面向对象的程序设计:是将对象的属性值数据和

7、作用在这些数据上的方法结合 在一同的程序设计方法。 对象包括数据和操作这些数据的方法,由事件驱动操作这些对象。 一切的对象都属于特定的“类class,或者说每一个对象都是类的一个实例。因此在面向对象的程序设计言语中用类class数据类型组织对象,一个类提供一组值和作用于这些值的操作。程序设计言语的支持环境继续 操作系统是各种软件中最重要的一种,或者说它是各种软件的中心与根底。 操作系统的作用是有效地组织和利用计算机的软、硬件资源,使各种程序能在操作系统的管理下协调工作。 操作系统的类型有许多种,例如有分时操作系统、批处置操作系统、多道作业操作系统等。程序设计言语的支持环境继续计算机计算机裸机裸

8、机程序设计言语的支持环境前往 操作系统的功能主要包括:cpu管理、存储管理、文件管理、设备管理、作业管理等。 目前最广泛流行的操作系统有UNIX、MS-DOS、Windows等。 运用高级言语编写源程序时该当留意程序的运转环境,要充分运用所运用的计算机系统提供的软件环境支持,并了解源程序在所运转的操作系统管理下是如何任务的。继续程序设计的根本过程确定问题的要求建立数学模型算法设计编写源程序编译调试程序运转程序分析输出结果整理文档前往程序设计的根本过程确定问题的要求建立数学模型算法设计编写源程序编译调试程序运转程序分析输出结果整理文档前往确定问题要求 程序设计的第一步是对实践问题进展分析,明确问

9、题的知条件,从中获得必要的输入数据,明确问题要求做什么,需求什么样的数据输出。前往建立数学模型 把错综复杂的实践问题进展简化笼统,用数学公式来描画实践问题的运动和变化过程,称为建立数学模型的过程。 在建立数学模型的过程中,分析问题的要求、确定处理问题的目的、明确问题的输入数据和输出信息、了解问题的约束限制条件,是选择制定数学模型、建立数学模型的关键步骤,是处理问题的关键所在。前往算法设计计算方法与算法的区别:计算方法:指求解复杂函数的数值分析 方法。算法:指为处理某一特定问题而进展一 步一步有穷的操作过程,是一组 规那么的集合,可以用传统流程图、 构造化流程图等描画。前往编写源程序 源程序是用

10、计算机言语描画的算法,编写源程序的过程是用计算机言语交换流程图的描画方式,将算法描画工具表示的算法转换成计算机言语来描画。前往编译调试程序 运用软件厂商消费的编译程序调试源程序,修正程序中的错误,经过反复编译调试,直到没有语法错误为止。前往运转程序 将编译源程序构成的目的文件与函数库衔接,构成运转文件,运转该程序,检查程序的输出结果能否正确,如发现错误,检查程序的逻辑能否正确,主要处理算法设计错误。前往分析输出结果 对照问题要求,分析输出结果,检查能否达到问题要求的功能和精度要求,输出信息的格式能否符合要求。输入不同的数据,检查能否还存在逻辑错误。 出错后,分清是算法还是数学模型选择错误,修正

11、源程序后再编译调试程序,继续一步一步执行。前往整理文档 当程序准确无误后,要仔细地整理文档,包括设计要求、设计思绪、设计过程、运用的算法、数据构造、输出信息及格式,在源程序中要用注释语句加上必要的阐明。继续算法及算法描画算法数据构造程序 算法是为处理某一特定问题而进行一步一步操作过程的准确描画,是有限步、可执行、有确定结果的操作序列。继续算法及算法描画例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.有零个或多个

12、输入5.有一个或多个输出继续算法及算法描画算法的三种根本构造:1.顺序构造 它是最根本、最简单的程序构造,在此构造内各语块是按照它们出现的先后次序依次执行的。2.分支选择构造 首先根据给定的条件判别条件能否为真,条件为真,选择满足条件的途径语句块执行,条件为假,选择不满足条件的途径语句块执行。3.循环构造 这种构造是将一条或多条语句反复地执行假设干遍。当满足或不满足某个指定的条件时反复执行语句块循环体,否那么跳出循环,执行循环体外的下一条语句。算法的描画描画算法的常用工具有如下几种:自然言语传统流程图N-S流程图伪代码前往自然言语前往它是指对人们日常运用的言语加以简化来描画算法。例2 用自然言

13、语描画求和算法,求1+2+3+10。 用s1表示第1步,s2表示第2步,依此类推;用sum存储累加和,在循环体外赋初值为0,循环变量为n,初值设为1;反复执行10次操作“sum+n sum;n+1 n,结果在sum所得到的值是1到10的累加和。详细算法如下:s1:0 sums2:1 ns3:假设n10,执行以下操作,否那么转到s4 s3.1:sum+n sum s3.2:n+1 n s3.3:转到s3s4:输出sum的值s5:终了传统流程图继续 它是用不同几何外形的线框、流线和文字阐明来描画算法。传统流程图的常用符号及其意义如下表所示。符号符号名称意 义实例起止框算法的开始或结束处理框算法的一

14、个处理步骤调用框调用模块或函数流程线算法执行的流程方向判断框选择控制,根据框中的条件确定从哪条分支执行输入输出框数据的输入,结果的输出连接点将算法中画在不同处的流程连续起来注释框用于书写算法中的注释内容开场终了1 nabc(x,n)n=10NY输入FOR循环传统流程图前往例3 用传统流程图描画求1+2+3+10的算法开场n=100 sum,1 nsum+n sumn+1 n输出sum终了NYN-S流程图继续 N-S流程图又称构造化流程图,它是由一系列矩形框顺序陈列而成,各个矩形框只能顺序执行,每一个矩形框表示一个根本结构。矩形框内的分割线将矩形框分割成不同的部分,构成三种根本构造: 顺序构造、

15、分支构造、循环构造。N-S流程图继续N-S流程图的根本构造框结构名称矩形框的分割基本结构框顺序结构选择结构循环结构 当型 循环直到型循环语句块A语句块B条件是否语句块A语句块B当条件满足语句块语句块直到条件满足N-S流程图前往例4 用N-S流程图画出求1+2+3+10的算法0 sum,1 n当n=10sum+n sumn+1 n输出sum伪代码前往 伪代码是一种过程设计言语,它没有严厉的语法规那么,可以把算法写得很详细,也可以把算法写得很概括,运用灵敏,方式接近高级言语。例5 用伪代码描画求1+2+3+10的算法为sum、n赋初值:DO WHILE (n10) sum=sum+n n=n+1L

16、OOP输出sum的值:End 构造化程序设计继续 构造化程序设计强调程序构造和程序设计方法,运用单一入口和单一出口的三种根本构造,即顺序构造、选择构造、循环构造组成程序的算法。其设计思想是“自顶向下,逐渐求精。问题工程自顶向下分解 假设干子工程分解假设干层次逐渐细化分解功能单一、相对独立的问题处理模块一个问题处置模块设计一个函数或过程根据其功能编写程序框架逐渐深化准确地 编写每一个程序构造和每一条语句 只运用三种根本构造来描画 模块内部的构造只需单一的入口和单一的出口 模块与外部联络也只需单一的入口和单一的出口构造化程序设计前往 完成编程后,应该“自底向上,逐渐求证,检查每条语句、每个程序构造

17、的逻辑及每个模块的功能能否正确,直到检查整个程序能否到达问题的要求,经过编辑、编译、衔接、运转、调试检查程序能否到达精度要求。构造化程序的根本特点:1只需一个入口。2只需一个出口。3对每一个处置框都有一条从入口到出口的 途径经过。4不包括死循环。原码、反码、补码前往 计算机处置有符号数时,运用最高位作符号位,“0表示正号,“1表示负号。 原码 反码 补码原 码前往 设X为带有符号的二进制数,X的绝对值用|X|表示,那么原码定义为:X原=X 0X2n2n+|X| -2nX0 正数的原码符号位为0,值为X;负数的原码符号位为1,值为该数的绝对值。例:知X11101001,X21101001,Y10

18、000000,分别求原码X1原、X2原、Y1原。解: X1原01101001X2原11101001Y1原00000000八位二进制数原码表示范围为127127反 码前往 设X为带有符号的二进制数,X的绝对值用|X|表示。2n+11为二进制数编码的全1形状。反码定义为:X反X 0X2n2n+11|X| -2nX0 正数的反码符号位为0,值为X;负数的反码符号位为1,数值逐位取反。例:知X11101001,X21101001,Y10000000,分别求原码X1反、X2反、Y1反。解: X1反01101001X2反10010110Y1反00000000补 码继续 设X为带有符号的二进制数,X的绝对值

19、用|X|表示,2n+1表示模。补码的定义为:X补X 0X2n 2n+1|X| 2nX0 正数的补码符号位为0,值为X;负数的补码符号位为1,值为反码加1。例:知X11101001,X21101001,Y10000000,分别求原码X1补、X2补、Y1补。解: X1补01101001X2补10010111Y1补00000000补 码前往 补码转化为原码表示方法:X原 X补 补。例:知X补10010111,求X原。解:X原 X补补10010111补11101001 补码的运算规那么。两个二进制数之和的补码等于该 两数的补码之和,即: XY补X补Y补例:知X35,Y19,试求XY补。解:X补=001

20、00011 Y补00010011X+Y补x补+Y补001000110001001100110110X-Y补x补+-Y补001000111110110100010000 C言语程序在运转时,有符号数是以补码方式在计算机内存存储单元中存放的。C言语概述前往 c言语的来源及其特点 c言语程序的根本构架及执行过程 c言语根本字符集与保管字C言语的来源继续 c言语是在B言语的根底上开展起来的。 1972年,贝尔实验室的学者D.M.Ritchie在B言语的基 础上设计了c言语。 1983年,美国国家规范协会ANSI对c言语进展了 扩展和规范,指定了新的规范,称为ANSI C。 Turbo C是美国Borl

21、and公司推出的,在微机上运用c 言语的编译系统带有一个易学易用的集成开发环境, 编译生成的可执行文件能在DOS环境中运用。 1989年,ISO/IEC提出了国际规范草案,1990年公布 了c言语的正式规范。C言语的特点前往1c言语是一种具有低级言语功能的高级言语。2c言语是构造化言语。3c言语是模块化言语。4c言语具有种类丰富的运算符。5数据构造丰富。6具有较高的移植性。 7言语简约、紧凑,运用灵敏、方便。C言语程序的根本构架继续例1 显示“Programming is fun.的c言语程序。main( ) printf(“Programming is fun.n);圆括号内写函数参数,不能

22、省略。阐明:1一个完好的程序必需有一个main函数,它称为主函数,程序 总是从main函数开场执行的。函数体阐明部分执行部分2c规定每个语句以分号;终了,分号是语句不可短少的组 成部分。;3用c言语进展程序设计时,应优先采用c言语函数库中的函数。4函数printf由主函数main调用, 构成如图的层次构造。mainprintfn作用是“回车换行C言语程序的根本构架继续设计函数的根本方法是从主函数开场,按调用关系,自上而下地进展。例2 求三个数的平均值。按自顶向下的方法可写出主函数如下:main( ) float a,b,c,ave; a=3.5; b=4.6; c=7.9; ave=avera

23、ge(a,b,c); printf(“average=%f,ave);/声明:名字a,b,c,ave为实型变量/对a,b,c赋值/调用average函数,得到的值赋给ave/输出ave的值/阐明:1所谓变量,就是在程序运转过程中值可以变化的量,实践上是对 存储空间的指定。2c言语商定,名字后面带有一对圆括号者,均为函数名,如main、 printf都是函数名。关键字格式字符C言语程序的根本构架继续可以这样定义average函数:float average(float x,float y,float z) float aver; aver=(x+y+z)/3; return(aver);/函数头

24、,声明参数x,y,z为实型/声明变量aver为实型/阐明:1.函数头用来阐明函数的名字,前往值的类型,对什么样的 数据参数进展操作以及参数的类型。2.函数定义中所运用的参数x,y,z称为方式参数简称形 参,只用于描画被加工的数据是一种什么样的角色,以 及如何对它们进展加工,并不阐明哪些详细的数据被加工。 详细的数据是由调用语句在调用时传送的。C言语程序的根本构架继续 根据上述分析,将main函数和本人定义的average函数组成一个完好的求三个数的平均值的程序:float average(float x,float y,float z) float aver; aver=(x+y+z)/3;

25、return(aver);main( ) float a,b,c,ave; a=3.5; b=4.6; c=7.9; 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

26、 z) float aver; aver=(x+y+z)/3; return(aver);/函数声明/定义函数/格式输入函数a, b,c把从键盘输入的值送到地址a,b,c所指出的单元中去。“是“地址运算符或“取地址符。表示输入的数为实数,且每两个输入的数据间以逗号相隔。假设main函数写在被调用函数前面,那么要先声明被调用函数;假设main函数写在被调用函数后面,那么不用声明被调用函数。C言语程序的根本构架继续1c程序的组成。一个c程序可以由一个或多个具有相对独立功 能的函数构成,其中有且仅有一个以main命 名的主函数。程序从main函数开场执行,直到执行完函数 体语句运转终了。其它子函数由

27、函数调用语句援用,运转完子 函数后,前往到调用途继续执行后续语句。函数与函数之间用参数传送信息,子函数只 能被主函数或其它子函数调用,不能单独运 行。C言语程序的根本构架继续2函数的组成。普通方式为:函数类型函数名 形参类型 函数形参数据定义部分函数执行部分函数头部函数体可以没有参数C言语程序的根本构架继续3c函数库。c函数规范函数用户定义函数由编译程序提供的,其定义是以编译后的目的代码方式存放在系统的函数库中,称为c函数库。用户编程时直接调用规范函数,如scanf、printf等。必需由用户在源程序中编写函数定义,根据模块功能,设计和编写用户定义的函数语句,供其它函数调用。留意:用户定义函数与调用函数的函数名必需一致,两者 参数的个数与参数的类型必需按位置一样放置。C言语程序的根本构架前往4书写格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论