试论C中的结构化程序设计

来源 :企业技术开发·下半月 | 被引量 : 0次 | 上传用户:cc023061227
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:C语言是一种很好的结构化程序设计语言;结构化程序设计方法可以概括为自顶向下、逐步求精、模块化、限制使用goto语句,将原来较为复杂的问题化简为一系列简单模块的设计;一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这3种基本结构来描述。
  关键词:程序设计;结构;C语言
  中图分类号:TP312文献标识码:A文章编号:1006-8937(2009)08-0121-01
  
  当前,计算机技术飞速发展,程序设计技术已从结构化程序设计技术向面向对象程序设计技术过渡,对一个规模较大的应用程序,总体框架是由面向对象程序设计构搭而成,而在局部实现时仍需采用结构化程序设计技术。C语言是一种很好的结构化程序设计语言,因此,在这里我想论述一下C中的结构化程序设计的方法。
  结构化程序设计(STRUCTURED PROGRAMING,简称SP)的概念是由荷兰学者E·W.DIJKSTRA等人在20世纪60年代后期提出的。是以模块化设计为中心,将原来较为复杂的问题化简为一系列简单模块的设计,也就是将一个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成。而函数既可以是C的标准库函数,也可以是自定义函数。在C中,一个具备一定规模的C程序往往是由多个函数组成,其中必有一个名为main的主函数,由main来调用其它函数,必要的话,其它函数还可以调用另外的函数。同一函数可以被一个或多个函数调用一次或多次。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
  结构化程序设计的思想是一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这3种基本结构来描述。顺序结构的程序流程是按语句的书写顺序依次执行;选择结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一个分支;循环结构是在给定条件成立的情况下,反复执行某个程序段。实现这些程序流程的语句都是流程控制语句。流程控制语句在程序设计中起着重要的作用,通过三种基本控制结构使结构化程序具有唯一的入口和出口,没有死循环,而且程序的静态形式与动态执行形式之间具有良好的对应关系 。在C语言中,有4种语句是顺序执行的:①空语句,光有一个分号“;”,作为语句结束符,它表示什么也不做。②表达式语句,表达式后面加一个分号,表达式语句主要有3种:赋值语句;自加减运算符构成的语句;逗号表达式语句。③函数调用语句,它是由一个函数调用加上一个分号组成的。④复合语句,由“{”和“}”把一些变量说明和语句组合放在一起,,又称为语句块。选择语句有if语句和switch语句。循环语句有for,while和do-while语句以及一些辅助流程转向语句如continue,break,goto等。顺序结构,选择结构和循环结构共同作为各种复杂程序的基本构造单元,由这三种结构经过反复嵌套构成的程序称为结构化程序,也就是说,结构化程序是由上述三种基本结构组成的。但如果在编程过程中无限制地使用转移语句(goto),会使程序的控制流程强制性地向前或向后跳转而导致程序的流程无序可循,结构杂乱无章。结构化构造减少了程序的复杂性,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰,易读易懂,并且容易验证程序的正确性。对一个初学计算机语言的人来说,最重要的就是要有正确的程序流程概念,不仅要懂得而且要灵活应用。由此可见,用结构化方法设计的结构是清晰的,有利于编写出结构良好的程序。因此,结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto 语句。将程序设计针对的问题进行分解,直到分解到对应于一个个功能更简单,又独立的模块,每个模块再分解到上述3种基本程序结构。
  实质上,结构化程序设计主要强调的是程序。程序=算法+数据结构+程序设计方法+语言工具和环境,其中算法是灵魂,是解决“做什么”和“怎么做”的问题;数据结构是加工对象;语言是工具;编程需要采用合适的方法。具体解决问题包含的步骤:分析问题,找出解决问题的模型;根据模型设计出适合计算机特点的处理方法即算法;进行编程程序,以实现算法;上机编辑(.c)、编译(.obj)、连接(.exe)、运行所编制的程序,直到得出正确结果;对结果进行分析,整理出文字材料。
  现在人们已经认识到,程序设计的任务不只是编写出一个能得到正确结果的程序,还应考虑程序的质量。否则将会使程序质量低下、可靠性差、开发周期长、维护费用高——这也就是我们平常说的“软件危机”,它会严重阻碍计算机应用的发展。由于大多高级语言都支持结构化程序设计方法,其语法上都含有表示三种基本结构的语句,所以用结构化程序设计方法设计的模块结构到程序的实现是直接转换的,只需用相应的语句结构代替标准的控制结构即可。
  
  参考文献:
  
  [1] 刘明军,韩玫瑰.C语言程序设计[M].北京:电子工业出版社,2007,4.
  [2] 廖雷.C语言程序设计[M].北京:高等教育出版社,2003,12.
其他文献
摘要:文章详细论述了应用乳化沥青进行路面养护及发展情况,举例说明了乳液的生产情况、乳液的配方、乳液的各种撒布和乳液在道路养护中的应用情况。  关键词:乳化沥青;道路养护;应用  中图分类号:U416.217文献标识码:A文章编号:1006-8937(2009)08-0070-01    1乳化沥青的优点和经济性    ①节能现将乳液和具有同样固体的轻制油进行比较,结果如下。  轻制油(轻制沥青):
期刊
摘要:建筑工程施工项目的质量控制是建筑企业各部门对施工各环节、各阶段所采取的组织协调、控制的系统管理手段,在新形势下如何以科学的发展观来创新建筑企业施工项目质量控制技术,是确保建筑企业可持续发展的最关键环节。  关键词:建筑企业;施工项目;质量控制;技术创新  中图分类号:TU71文献标识码:A文章编号:1006-8937(2009)08-0018-02    建筑企业施工项目工程质量是指建筑工程
期刊
摘要:文章以北洋涂围垦工程为例,介绍GPS测量技术的应用。  关键词:围垦工程;GPS测量  中图分类号:TN911.7文献标识码:A文章编号:1006-8937(2009)08-0076-01    1工程概况    北洋涂围垦工程位于浙江省临海市东侧滩涂面上,主要建筑物为6740米长海堤,工程建成后将围垦海涂面积3.27万亩,为当地的经济发展提供充足的后备土地资源。业主在岸边提供了4个控制点,
期刊
摘要:在美国电视行业中,每次新技术的应用都会给用户带来新的观看体验。2005年之后由于Slingbox等产品的出现,用户可以随时随地收看电视节目,实现了所谓的易地播放。这些技术在便利电视用户的同时也带来了非法复制或非法传播作品的巨大风险,引起了美国版权产业的深深忧虑。他们试图通过提起诉讼、游说立法等法律途径消灭新技术,维护行业利益。依据美国现有的法律,Slingbox是否侵犯版权尚难以判断。但从历
期刊
摘要:建筑装饰装修是指为使建筑物、构造物内外空间达到一定的环境质量要求, 使用装饰装修材料, 对建筑物、构造物外表和内部进行修饰处理的工程建筑活动。文章主要探讨分析了建筑装饰装修工程的施工现场管理措施。  关键词:建筑装饰;装修工程;施工现场;管理  中图分类号:TU721文献标识码:A文章编号:1006-8937(2009)08-0102-02    完成一个大型高档写字楼的装修工程,一般进入施
期刊
摘要:IPv6是下一代互联网采用的核心协议,现行的IPv4向IPv6过渡势在必行。因此,研究基于IPv4向IPv6的过渡技术在校园网中的应用是十分必要的。在分析了IPv4向IPv6过渡的技术的基础之上,以有新旧两个校区的校园网为例,文章主要讨论了校园网向Ipv6过渡的基本机制,并提出了校园网升级的组网方案。  关键词:Ipv6;校园网;隧道技术;双协议栈  中图分类号:TP393.18文献标识码:
期刊
摘要:文章总结了MEN用户网络接口的特点,并对UNI参考点和UNI参考模型进行了分析。  关键词:城域以太网;用户网络接口;UNI  中图分类号:TP393.17文献标识码:A文章编号:1006-8937(2009)08-0115-01    1MEF简介    电信级以太网主要承载两大类业务:一类是面向公众用户的多业务承载。另一类是企业用户的专线/VPN业务承载。电信级以太网在这种类型业务的承载
期刊
摘要:文章介绍了可编程控制器(PCL)与上位机(PC机)实现串行通信功能的硬件组成、通信协议,重点阐明在上位机(PC机)上基于VC++6.0的编程实现细节,并进一步展望PLC对控制系统应用的前景。  关键词:可编程控制器(PCL);VC++  中图分类号:TP312文献标识码:A文章编号:1006-8937(2009)08-0112-02    鉴于目前由可编程控制器(PCL)和PC机所构成的监控
期刊
摘要:Internet网中存在后台负载是不争的事实。原则上,任何未考虑此后台负载的网络工程都有可能在暴露非必要负载的情况下出现问题。类似地,随着高功能复杂度以及无线资源的缺乏,这种问题将来也会发生在3G网络中。当今,后台负载也存在于GPRS/UMTS当中,主要原因是便携式电脑上3G连接卡的广泛使用。  关键词:3G;后台负载;无线资源  中图分类号:TP393.17文献标识码:A文章编号:1006
期刊
摘要:作为国家信息网络基础设施的组成部分,有线电视网络进入了千家万户。与此同时,城市住宅小区化的建设在各个城市大规模进行,人民群众更是对住宅的智能化管理、信息化服务提出了更高的要求。因此文章对利用有线电视HFC网络作为智能小区信息传输方法有待探讨。  关键词:有线电视;HFC;网络智能小区  中图分类号:G202文献标识码:A文章编号:1006-8937(2009)08-0126-02    HF
期刊