欢迎来到天天文库
浏览记录
ID:52693
大小:104.00 KB
页数:14页
时间:2017-04-27
《软件技术基础 第三版 课后习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章程序设计语言计算机工作是执行相应程序,程序规定了执行的动作和动作的执行顺序。程序的表达手段是程序设计语言。程序设计语言是人-机交换信息的媒体;是表达软件(程序)的工具;是人-人交换信息的工具。软件的开发和使用,协作开发、使用修改都要读程序,程序设计语言必须规范化和标准化。程序设计语言是与计算机通信创造的语言,严格、小巧,没有二义性(语句执行只有一个解释)。2.1高级程序设计语言概述最初的语言是机器语言。机器语言在内存中开辟两个区:数据区存放数据;指令区存放指令。CPU从指令区第一个地址开始逐条取出指令并释义执行,直到所有的指令都被执行完。一般的指令格式2.2.2高级语言程序的
2、解释执行编译型语言由于可进行优化(有的编译器可作多次优化),目标码效率很高,是目前软件实现的主要方式。语言编写的源程序,都需要进行编译、连接,才能生成可执行程序。编译时花费时间但程序的执行效率提高。对高级语言源程序采取解释执行的方式.解释执行需要有一个解释器(Interpreter),它将源代码逐句读入。先作词法分析,建立内部符号表;再作语法和语义分析,即以中间码建立语法树,并作类型检查。完成检查后把每一语句压入执行堆栈,压入后立即解释执行。操作系统的命令、BASIC、VB、Prolog、LISP、Java、JavaScript、Postscript2.3.1变量、表达式、赋值使用
3、符号常量,只需一次性改动其赋值就行了。赋值和函数调用是程序语言改变变量的值的基本手段。不同的语言所使用的赋值号并不完全相同,比如Pascal语言的赋值号是“:=”,而在C语言、Java语言、VB等语言中,赋值号是“=”。程序中的一条语句对应着计算机的一条命令(用一条或多条指令来实现)。一个赋值语句就是一条赋值命令。2.3.2程序的控制结构程序约定自上向下自左向右地执行,即顺序地执行语句(或表达式)。但不仅限于此,计算机之所以能自动计算,它能通过判断将程序转到应该执行的地方。人们就是通过巧妙地安排控制转移,使计算机实施算法。最基本的程序控制语句在汇编语言时代就有了Jump指令使执行跳
4、转,对应的高级语言语句是无条件转移语句:gotoloop;其中loop是跳转到的语句的标号(数字或标识符),加上条件判断子句if(E)就是条件转移语句:If(E)gotoloop;其中E是条件(布尔)表达式,求值结果是‘真’、‘假’值。如果为‘真’转移到标号为l的语句,为‘假’则按顺序执行下一条语句。有了这两个语句再加上简单语句(赋值、调用、输入/出),就可以实现程序的任何执行控制。最基本的程序控制有以下三种:顺序执行简单语句序列S=S1;S2;…;Sn选择执行结构化程序的控制结构早期的编程语言是语句级的.用简单准语句集合加goto构成复杂的程序控制。然而显式地使用goto语句是极
5、其危险的。这是因为:·goto语句相互交织使设计出的程序控制结构成为不可分解的一个整体。尽管算法设计精巧,但牵一发而动全身。程序一大,修改很困难。·显式使用goto语句使得任何写错转移语句标号的小错误都会导致灭项之灾。·使程序控制逻辑是结构化的,显式使用goto语句,程序依然难于阅读。出了错易于找出错误并修改易阅读导致易扩充、修改,大程序易于分析。程序控制结构清晰,是它用关键字控制程序块(语句组)。任何控制转移不能进入这些控制块,除非入口。块中转出也不能直接转到程序其他处,只能转到出口。在出/入口增加检查语句就使得程序错误真正局部化。程序块级(语句组)控制采用语句括号使程序逻辑与表
6、示法结构完全一致。可直接编程。程序语言结构化以后,编程对流程图的依赖就很少了。Nassi-Schneldermann提出了结构化流程图(主要取消流线及箭头),因没有直接用类似结构化编程语言的伪代码方便而没有流行起来。结构化编程语言的其他控制结构结构化程序只需三种基本结构重复和嵌套。但为了方便编程,第三代语言派生出许多结构。以下简略说明。条件分支无假块条件分支和嵌套if语句if(E)thenSTendifif(E1)thenS1elseifE2thenS2…elseSmendif无假块条件语句是正规条件语句的简化,很常用。嵌套语句在否定部分用关键字elseif,有的语言用elsif。
7、只有当所有条件均有‘假’时才执行else块。逐个检查m个条件效率很低,有时似无必要。case语句也叫分情形语句。根据条件变量Z的值单独执行S1,S2…,Sn,执行完Si自动跳到endcase(C语言例外,它要加上break才跳。否则执行Si+1到Sn)。循环结构除了doSwhileE之外,还有do-until和for结构。do-until语句形式是doSuntilE,基流程图。先执行再判断,若E为‘真’不再循环。正好和先判断再执行的do-while语句是相反的。将它改
此文档下载收益归作者所有