正在加载图片...
第4单元表达式 试方法 逻辑错误:一种逻辑错误是由于在设计程序的算法时考虑欠周引起的,例如对边界和极 端条件未作处理等。例如以下循环 while(count) count count-1 程序员的构思是进行 count次循环。但是,如果 count中原来的值为负数时,此循环就成了 个“死循环”而导致无法停机,显然是错误的。但是编译程序无法查出这类错误,只有到了 程序运行之后才有可能发现。再如,在利用海伦公式计算三角型面积时,首先应该确认给出 的三条边长确实可以构成一个三角形,否则计算结果是没有意义的;而在编写求解一般实系 数一元二次方程的程序时,必须在程序中设计处理复根情况的程序段,以免对负数求平方 根。通常在手算时不用事先考虑这些问题,可以在确实发生了问题以后再提出解决的办法。 但是程序是为计算机设计的,而计算机并没有自行应变的能力,程序员必须事先将一切可能 遇到的情况统统考虑周全,尤其是对于那些受用户委托设计或者作为商品出售的软件更是 如此。 另一种常见的逻辑错误是由于程序输入时的打字错误造成的,例如将判断条件中的 >=”误输入为“>”,将相等判断“—”误输入为赋值号“=”等。含有这类错误的程序 在运行时出现的现象多种多样,而且通常很难与错误的原因联系起来。 410基本调试手段 程序的基本调试手段有以下几种:标准数据检验、程序跟踪、边界检查和简化循环次数 等。下面我们分别介绍之 标准数据检验:在程序编译、连接通过以后,就进入了运行调试阶段。运行调试的第 步就是用若干组已知结果的标准数据对程序进行检验。标准数据的选择非常重要,一是要有 代表性,接近实际数据,二是要比较简洁,容易对其结果的正确性进行分析。另外,对重要的 临界数据也必须进行检验。 程序跟踪:对于比较复杂的大型程序来说,上述标准数据检验一次就完全通过的可能性 很小。通常程序中总是存在许多各种各样的错误(就好象出错是程序的基本特性,一个错误 也没有的程序反倒是罕见的意外)还需要对程序进行细致的调试工作 程序跟踪则是最重要的调试手段。程序跟踪的基本原理是让程序一句一句地执行,通过 观察和分析程序执行的过程中数据和程序执行流程的变化来查找错误。就 sual C++而言, 程序跟踪可以采用两种方法,一种是直接利用 Developer Studio中的分步执行、断点设置 变量内容显示等功能对程序进行跟踪,这种方法我们留在第6单元的编程与调试部分介绍, 另一种是传统的方法,通过在程序中直接设置断点、打印重要变量内容等来掌握程序的运行第 4 单元 表达式 - 75 - 试方法。 逻辑错误: 一种逻辑错误是由于在设计程序的算法时考虑欠周引起的, 例如对边界和极 端条件未作处理等。例如以下循环: while(count) { … … count = count−1; } 程序员的构思是进行 count 次循环。但是, 如果 count 中原来的值为负数时, 此循环就成了一 个“死循环”而导致无法停机, 显然是错误的。但是编译程序无法查出这类错误, 只有到了 程序运行之后才有可能发现。再如, 在利用海伦公式计算三角型面积时, 首先应该确认给出 的三条边长确实可以构成一个三角形, 否则计算结果是没有意义的; 而在编写求解一般实系 数一元二次方程的程序时, 必须在程序中设计处理复根情况的程序段, 以免对负数求平方 根。通常在手算时不用事先考虑这些问题, 可以在确实发生了问题以后再提出解决的办法。 但是程序是为计算机设计的, 而计算机并没有自行应变的能力, 程序员必须事先将一切可能 遇到的情况统统考虑周全, 尤其是对于那些受用户委托设计或者作为商品出售的软件更是 如此。 另一种常见的逻辑错误是由于程序输入时的打字错误造成的, 例如将判断条件中的 “>=”误输入为“>”, 将相等判断“==”误输入为赋值号“=”等。含有这类错误的程序 在运行时出现的现象多种多样, 而且通常很难与错误的原因联系起来。 4.10 基本调试手段 程序的基本调试手段有以下几种: 标准数据检验、程序跟踪、边界检查和简化循环次数 等。下面我们分别介绍之。 标准数据检验: 在程序编译、连接通过以后, 就进入了运行调试阶段。运行调试的第一 步就是用若干组已知结果的标准数据对程序进行检验。标准数据的选择非常重要, 一是要有 代表性, 接近实际数据; 二是要比较简洁, 容易对其结果的正确性进行分析。另外, 对重要的 临界数据也必须进行检验。 程序跟踪: 对于比较复杂的大型程序来说, 上述标准数据检验一次就完全通过的可能性 很小。通常程序中总是存在许多各种各样的错误 (就好象出错是程序的基本特性, 一个错误 也没有的程序反倒是罕见的意外),还需要对程序进行细致的调试工作。 程序跟踪则是最重要的调试手段。程序跟踪的基本原理是让程序一句一句地执行, 通过 观察和分析程序执行的过程中数据和程序执行流程的变化来查找错误。就 Visual C++而言, 程序跟踪可以采用两种方法, 一种是直接利用 Developer Studio 中的分步执行、断点设置、 变量内容显示等功能对程序进行跟踪, 这种方法我们留在第 6 单元的编程与调试部分介绍; 另一种是传统的方法, 通过在程序中直接设置断点、打印重要变量内容等来掌握程序的运行
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有