欢迎来到天天文库
浏览记录
ID:58891164
大小:895.00 KB
页数:92页
时间:2020-09-30
《C 程序设计教程第3节ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章程序设计基础本章主要内容:3.1结构化程序设计概述3.2C的基本语句3.3顺序结构3.4分支结构3.5循环结构3.1结构化程序设计概述随着计算机的应用日益广泛,计算机软件的规模和复杂性不断增加,对软件的测试、维护越来越困难。在20世纪60年代末期,“软件危机”这个词频繁出现,为了解决由于软件危机带来的一系列问题,人们开始研究程序设计方法,其中最受关注的是结构化程序设计方法。20世纪70年代提出了“结构化程序设计(structuredprogramming)”的思想和方法。结构化程序设计方法引入了工程思想和结构化思
2、想,使大型软件的开发和编程得到了极大的改善。3.1.1结构化程序设计的原则1.自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。4.限制使用goto语句3.1.1结构化程序设计的原则1.结构化程序设计方
3、法的起源来自对GOTO语句的认识和争论。(1)GOTO语句确实有害,应当尽量避免;(2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高。(3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用GOTO语句。3.1.2结构化程序的基本结构与特点采用结构化程序设计方法编写程序,目标是得到一个良好结构的程序,所谓好结构的程序就是该程序具有结构清晰、容易阅读、容易理解、容易验证、容易维
4、护等特点。1996年,Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构,就足以表达出各种其它复杂形式的程序结构。3.1.2结构化程序的基本结构与特点顺序结构:顺序结构是一种简单的程序设计,它是最基本、最常用的结构,如图3-1所示。顺序结构就是按照程序语句行的自然顺序,一条语句一条语句地执行程序。3.1.2结构化程序的基本结构与特点选择结构:选择结构又称为分支结构,它包括简单分支结构和多分支结构,这种结构可以根据设定的条件,判断应该选择执行哪一条分支的语句序列。简单分支结构如图3-2
5、所示。3.1.2结构化程序的基本结构与特点重复结构又称循环结构。它根据给定的条件,判断是否需要重复执行同一相同的程序段,利用重复结构可以简化大量的程序行。在程序设计语言中,重复结构对应两类循环语句,对先判断后执行循环体的称为当型循环结构,如图3-3所示。对先执行循环体后判断的称为直到型循环结构,如图3-4所示。3.1.3结构化程序设计的方法在结构化程序设计的具体实施中,要注意把握以下方法:1.使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;2.选用的控制结构只允许有一个入口和一个出口;3.程序语
6、句组成容易识别的语句序列块,每块只允许有一个入口和一个出口;4.复杂结构的程序设计时,仅用嵌套的基本控制结构进行组合嵌套来实现;3.1.3结构化程序设计的方法5.严格控制GOTO语句的使用。其意思是指:(1)虽然有些高级语言有GOTO语句,但编程时不要轻易使用;(2)若不使用GOTO语句会使功能模糊时,慎重地使用GOTO语句;(3)在某种可以改善而不是损害程序可读性的情况下,慎重地使用GOTO语句。3.1.4C语言程序的结构在C语言中,一个大的程序可由多个源程序文件组成,而源程序文件由预编译命令和多个函数组成,每个函数
7、实现某个特定功能。C语言程序的结构如图3-5所示。3.2C的基本语句3.2.1表达式语句表达式只是对求值公式进行描述,而要让计算机按表达式所描述的求值公式进行计算,必须将表达式改写成表达式语句。将表达式改写成表达式语句只需在表达式之后加上分号即可。表达式语句的格式为:表达式;例如:++j;m=n;x=y+2;一般情况,有效的表达式语句都要有赋值运算,否则不做任何赋值运算的表达式语句是无意义的。例如,x>>3;将x右移3位,但没有存放到任何存储单元中,这个操作就没有任何意义。3.2C的基本语句3.2.2空语句C语言中有一
8、个很特殊的语句,即空语句。空语句,顾名思义就是什么也不存在的语句,只有一个分号。语句格式为:;尽管空语句不会执行任何命令,但仍然是一个很重要的语句。通常用于循环语句中,使循环体为空。如果没有空语句时,就无法表示了。例如:for(sum=0,i=0;i<=5;i++)/*循环的初值,判断,增减量*/{/*循环体*/}可以看出,改循环
此文档下载收益归作者所有