第10章节程序设计语言和编码.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章节程序设计语言和编码

第10章 程序设计语言和编码 编码阶段的任务是根据详细设计说明书编写程序 程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性 为了保证程序编码的质量,程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性 此外,还要求源程序具有良好的结构性和良好的程序设计风格 程序设计语言 程序设计风格 程序设计语言 基本概念 程序设计语言是指用于书写计算机程序的语言,它是一种实现性的软件语言 语法(syntax)用来表示构成语言的各个记号之间的组合规则,它是构成语言结构正确成分所需遵循的规则集合 如C语言中for语句的构成规则是: for(表达式1;表达式2;表达式3)语句 语法中不涉及到这些记号的含义,也不涉及使用者 语义(semantic)用来表示按照各种表示方式所表示的各个记号的特定含义,但它不涉及到使用者。 如上述for语句中:表达式1表示循环初值;表达式2表示循环条件;表达式3表示循环的增量;语句为循环体。整个语句的语义是: (1)计算表达式1 (2)计算表达式2,若计算结果为0,则终止循环;否则转(3) (3)执行循环体 (4)计算表达式3 (5)转向(2) 程序设计语言的基本成分 程序设计语言基本成份可归纳为四种:数据成分、运算成分、控制成分、传输成分 数据成分:它指明该语言能接受的数据,用来描述程序中的数据。如各种类型的变量、数组、指针、记录等。作为程序操作的对象,具有名称、类型和作用域等特征。使用前要对数据的这些特征加以说明。数据名称由用户通过标识符命名,类型说明数据需占用存储单元的多少和存放形式,作用域说明数据可以使用的范围。 名字说明:预先说明程序中使用的对象的名字,使编译程序能检查程序中出现的名字的合法性,从而能帮助程序员发现和改正程序中的错误.某些语言(FORTRAN和BASIC)并不要求用户显式的说明程序中所有对象的名字,第一次使用一个名字被看作是对这个名字的说明.然而在输入源程序时如评拚错了名字,特别是如果错输入的字符和预定要使用的字符非常相像(如,字母O和数字0,小写字母l和数字1),那么因此而造成的错误是较难诊断的. 类型说明:类型说明和名字说明是紧密相连的,通过类型说明用户定义了对象的类型,从而确定了该对象的使用方式.编译程序能够发现程序中对某个特定类型的对象使用不当的错误,因此有助于减少程序的错误.规定必须预先说明对象的类型还有助于减少阅读程序时的歧义性.某些语言规定,如果不加说明的引入一个名字,那么该名字的第一个字母将决定它的类型.然而,如果说明了某个名字的类型,而且说明的类型和由名字第一个字母决定的缺省类型不一致,则会造成阅读程序时的歧义性. 类型检查的概念最早是在ALGOL60中引入的,以后又显著的精华了这个概念.像Pascal这样的程序设计语言,还允许用户定义与他们的特定应用有关的自己的类型,并且可以在用自己定义的类型说明其他程序对象.用户几可以定义纯量,子界一类的简单类型,也可以定义记录,链表和二叉树等复杂的结构类型.程序设计语言中的类型说明不仅仅是一种安全措施,她还是一种重要的抽象机制,对类型名字的定义使得我们可以引用某些复杂的实体,而不必考虑这些实体的表示方法. 初始化:程序设计中最常见的错误之一是在使用变量之前没对变量初始化.为减少发生错误的可能性,应该强迫程序员对程序中说明的所有变量初始化.另一个办法是在说明变量时由系统给变量赋一个特殊的表明它尚未初始化的值,以后如果没给这个变量赋值就企图使用它的值,系统就会发出出错信号. 运算成分:它指明该语言允许执行的运算,用来描述程序中所需进行的运算。如 + 、- 、* 、/ 等。 控制成分:它指明该语言允许的控制结构,人们可利用这些控制成分来构造程序中的控制逻辑。基本的控制成分包括:顺序结构、条件选择结构和重复结构。如下页图 循环控制结构:最常见的循环控制结构有for语句,while_do语句和repeat_until语句.但是实际上许多场合需要在循环体内任意一点测试循环结束条件,如果使用if_then_else语句和附加的布尔变量实现这个要求,则将增加程序长度并降低程序的可读性.很多程序设计语言考虑到了上面的要求,并适当的解决了这个问题. 分支控制结构:一臂和两臂的if型分支语句,通常并不存在什么实际问题,但是多分支的case型语句却有可能存在两个问题:如果case表达式取的值不在预先制定的范围内,则不能决定应该做的动作;在某些程序设计语言中,由case表达式选定执行的语句,取决于所有可能执行的语句的排列次序,如果语句次序排错了,编译和运行时系统并不能发现这类错误 传输成分:它指明该语言允许的数据传输方式,在程序中可用它进行数据传输。 例如:Turbo C语言标准库提供了两个控制

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档