background image

如 何 在

Visual C++ 6.0 环 境 下 进 行 简 单 的 语 言 程 序 调

 

文章简介

 

本文主要介绍如何在

VC6.0 环境下进行简单的 C 语言程序调试。作为阅读本

文的基础,读者应该熟悉如何在

VC6.0 环境下建立 Win32 Console Application  

(Win32 控制台程序) 类型的工程。请结合文章给出的案例,按照文档中的描述一
步一步做。如果只是阅读,则收效甚微。在做完文章给出的案例后,你应该尝试
着将文章中介绍的知识和技巧应用到你实际开发的程序中。如果阅读完一遍后,
对调试基本概念还是不了解,建议你再多看几遍。

 

在介绍如何进行

C 语言程序调试( debugging)前,首先介绍程序调试的概念。

调试

(debug)一词在计算机领域最早被提及,源于美国人 Admiral Grace Hopper(葛

丽丝

·霍普、COBOL 语言发明者、电脑科学家) 。二十世纪四十年代(1940s) Grace 

Hopper 在哈佛大学为名为马克 2 号(Mark II) 的计算机( 由 IBM 公司制造) 编写程序
时,有一次在排除计算机故障时,发现一只飞蛾被夹在触点原件之间,导致计算
机无法运行。于是她诙谐的把计算机故障称之为

“臭虫(bug)”,把排除程序故障

称之为

debug 。从此之后,在计算机领域,程序调试或查找程序故障称为 debug 。 

进行程序开发时,很多情况是程序通过编译、链接

( 亦即不存在语法错误) ,

但是在运行时往往得不到正确的结果

( 需要多组输出数据进行测试)。这时往往意

味着程序存在逻辑错误

( 与语法错误对应,通常是指程序所体现出的逻辑不符合

开发者要求,或者是开发者本身对程序所要解决的某一问题的理解存在逻辑偏

) ,而查找逻辑错误的过程可称之为程序调试。 

程序案例

 

下面以一个程序案例为例,介绍如何在

VC6.0 下进行程序调试。 

案例:一个数如果恰好等于它的因子之和,这个数就称为

“完数”。例如,6

的因子为

1,2,3,而 6=1+2+3 ,因此是“完数”。编程序找出 1000 之内的所有

的完数,并按下面的格式输出其因子:

  6 its factors are 1, 2,  3  

1 是某同学编写的源程序。在 VC6.0 下建立 Win32 Console Application 类

型工程后,进行编译链接的结果如图

1 所示。对于表 1 中的程序功能,在其源代

码中相应注释已给出说明。对于该源代码编写是否合理、简洁,目前不做任何评
论。

 

 

1  求 1000 以内所有的完数 C 源代码 

#include<stdio.h> 
main() 

     int   n,a,b,c,d,sum=0;  
     for (a=0;a<=8;a++) //a 表示一个三位数中的百位 
     { 
         for (b=0;b<=8;b++) //b 表示一个三位数中的十位 
         { 
             for (c=1;c<=8;c++) //c 表示一个三位数中的个位 
             { 
                 n=100*a+b*10+c; //n 表示一个~1000 以内的数