第1章的参考答案 联系客服

发布时间 : 星期六 文章第1章的参考答案更新完毕开始阅读8f55b46ea98271fe910ef963

1.什么是计算机语言?

答:计算机语言是人机交流的语言,也称为程序设计语言。人们通过给计算机一系列命令,让计算机按给定的命令一步步地工作来实现计算机控制。

2.机器语言、汇编语言和高级语言分别有什么特点? 答:(1)机器语言是最底层的计算机语言。在用机器语言编写的程序中,每一条机器指令都是二进制形式的代码,即由一连串的二进制数符0和1组合起来的编码。程序中的每一条指令规定了计算机要完成的一个操作。在指令代码中,一般包括操作码和地址码,其中操作码告诉计算机做何种操作,即“干什么”,地址码则指出被操作的对象存放在什么位置。用机器语言编写的程序,计算机硬件可以直接识别。

由于机器语言程序是由二进制数符0和1组成的系列,所以用它编写的程序直接针对计算机硬件,执行效率高,能充分发挥计算机的速度和性能,这也是机器语言的优点。但是由于二进制数序列“难学、难记、难写、难检查、难调试”,编写起来非常繁琐,而且用机器语言编写的程序完全依赖于机器,程序的可移植性差,所以一般不用机器语言编写程序。

(2)汇编语言:人们用一些容易记忆和辨别的有意义的符号来表示机器指令,如用指令助记符表示机器语言指令代码中的操作码,用地址符号表示地址码。这样用一些符号表示机器指令的语言就是汇编语言,也称为符号语言。

汇编语言与机器语言一一对应,依赖于机器硬件,移植性不好,但执行效率比较高。针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精练而质量高,所以至今仍是一种常用而强有力的软件开发工具。

(3)高级语言

高级语言是一种更接近于自然语言的计算机语言,包括Fortran、Basic、Pascal、Cobol及C语言等。高级语言源程序主要由语句(statements)构成,语句是要计算机完成指定任务的命令。高级语言有各自的语法,独立于具体机器,移植性好。为了使高级语言编写的程序能够在不同的计算机系统上运行,首先必须将程序翻译成运行程序的计算机特有的机器语言。在高级语言和机器语言之间执行这种翻译任务的程序叫做编译器(compiler)。

3.请分别用自然语言、传统流程图和N-S流程图描述求一元二次方程:ax2+bx+c=0根的算法。

答:(1)用自然语言描述求一元二次方程:ax2+bx+c=0根的算法。 ①输入一元二次方程:ax2+bx+c=0的三个系数a,b,c; ②如果a=0,则提示“不是二次方程”。转步骤⑦; ③计算b2-4ac并赋给delta;

④如果delta=0,则方程的两个相等的实根为:x1,2=-b/2a; ⑤否则,如果delta>0,则?b?delta ?b?delta,

x1?2ax2?2a⑥否则,输出“无实根”。 ⑦结束。

(2)用传统流程图描述求一元二次方程:ax2+bx+c=0根的算法。

开始

输入一元二次方程系数:a,b,c 否

否 delta>0 是 输出两个不等的实 根为: ?b?deltax1? 2a ?b?deltax2? 2a a = 0 是 delta=b-4ac 2输出“不是一元二次方程” delta=0 是 否 输出两个相等的实根 为:x1,2=-b/2a 输出“方程无实根” 图 1-1求一元二次方程ax+bx+c=0根的传统流程图

(3)用N-S流程图描述求一元二次方程:ax2+bx+c=0根的算法。 输入一元二次方程系数:a,b,c 2

结束 a=0 是 否 输出“不是一元二次方程” delta=b-4ac delta=0 是 否 delta>0 输出两个相等的实根为:是 否 x1,2=-b/2a 输出两个不等的实根输出“方程无实根” 为: ?b?delta 2x1?2a?b?delta x2?2a

图 1-1求一元二次方程ax+bx+c=0根的N-S流程图

2

4.什么是结构化程序设计?

答:结构化程序设计是指用结构化的思想来进行程序设计,包括三种控制结构:顺序结构、选择结构和循环结构,分别对应N-S流程图的三种表示形式。用三种基本结构组成的程序是结构化的程序。结构化的程序容易编写、阅读、修改、维护,减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。

结构化化程序设计的基本思路是,把一个复杂问题的求解过程分阶段进行,每个阶段所处理的问题都控制在人们容易理解和处理的范围内。具体地说,采用如下方法保证得到结构化的程序:自顶向下,逐步细化;模块化设计;结构化编码。

5.请用注释说明如下程序中每一行的功能。 参考答案:

#include \ /*将与标准输入输出相关的头文件stdio.h包含到程序中*/ void main() /*main函数的头部声明*/ {

int num,price,total;

/* 定义三个基本整型变量num(数量),price(价格),total(总价)*/ printf(\ /*输入数量、价格的提示信息*/ scanf(\

/*从键盘上输入两个整数(数量和价格),用空格或回车分隔*/ total=num * price; /*计算总价*/

printf(\/*按格式输出数量、价格和总价*/ }

6.请对照图1-6,找出Turbo C 2.0编程环境中的主菜单、编程区域、消息显示框和功能

键提示行。

答:编程环境标题栏下面是Turbo C 2.0的功能主菜单;占编程界面较大空间的蓝色部分就是程序的编辑区域;编辑区域的下面就是消息显示区域(Message);编辑界面的最下面是功能键提示行。

7.说说上机调试一个程序的步骤。针对习题5中的程序,上机运行调试并输入5 30,程序运行结果是什么?

答:一个C程序要经过编辑、编译、链接和运行四个步骤,才能得到程序的执行结果。 上机运行调试习题5中的程序,并输入5 30,程序运行结果是:The amount of consumption will be 5*30=150。

8.调试程序时,可能出现哪些错误?

答:编译一个程序时,编译器首先检查程序的语法是否正确,若违反了语法规则,编译器将显示出错信息。由于违反了语法规则而导致的错误称为语法错误(syntax error)。

编写的程序还可能存在逻辑错误。有时是无心之漏,有时是思维方式或逻辑关系错误,都可能导致逻辑错误,产生不正确的运行结果。

9.良好的编程习惯有哪些?

答:良好的编程习惯有助于对程序本身的理解,在编写C程序时,应注意以下几点: (1)程序代码中穿插一些必要的注释。 (2)标识符命名见名知义。

(3)程序语句书写格式规范,对于嵌套语句使用缩进。

(4)以模块化方式考虑程序结构,以函数形式书写较复杂的程序。

10.请描述如下过程:从准备用C语言解决一个问题到成功运行解决该问题的程序并

查看结果。

答:从准备用C语言解决一个问题到成功运行解决该问题的程序并查看结果的过程包括:

(1)认真理解所要解决的问题的实质; (2)用算法描述;

(3)用C语言写程序并输入(编辑); (4)编译,如果有语法错误,必须修改; (5)正确编译后,运行并查看结果;

(6)如果结果不正确,则要检查并纠正程序的逻辑错误,再次编译、运行直到正确为止。