为什么要这样?读书笔记。按部就班,C++程序调试。
在《5分钟了解计算机语言编程动手体验V6C++》里,作者给出了一段算术计算程序。可以从小学数学计算问题的过程,猜测计算机语言的描述方法,也就是程序语言的表达内容与格式。而最基本的词汇、语句、规定、格式等是在用中学的。手里有一本计算机语言的书本就行。老翻老翻,边写程序边翻书,慢慢就啥都记住了。
在《5分钟了解使用计算机语言的条件》里,作者又说:学语言是为了和计算机交流。那么,就得有台计算机。而计算机自己不能直接接受高级语言指令,需要一个翻译—叫作编译器。光编译还不行,还有别的事情。计算机很倔,一丁点错都不能有。因为它是计算机器,是数学计算机器。而数学是典型的及其规范的、格式化的、严谨的符号系统。为了能不出错,为了能尽量提高自动化效率和效益。有好的、优秀的编译器平台会尽量提供帮助。调试环节就是尽量利用平台的帮助功能减少错误,合乎规范的。
所以,调试过程也是人机交互过程。是平台帮我们将错误降到最低。
再来重温一下那段程序:arithmetic.cpp
//arithmeticCJ.cpp:Definestheentrypointfortheconsoleapplication.
//
#include"stdafx.h"
#include"iostream.h"/*文件包含,预处理指令,标准库函数被引入*/
#include"math.h"//初等数学函数等被引入
intmain(intargc,char*argv[])/*主函数*/
{/*函数体开始*/
inta,b,Add,Subtrac,Multip;
floata1,b1,Division,Division1;
……
//处理过程
……
cout"同学,请输入一个你想计算的整数:\n"endl;
cinarf;
//计算处理
……
Division=a/b;
Division1=a1/b1;
TrigonomS=sin(arf);
……
//处理结果输出--标准IO
cout"同学,请检查计算机的处理结果:\n"endl;
……
cout"a/b="Divisionendl;
cout"a/b="Division1endl;
……
cout"cos(arf)="TrigonomC1endl;
coutendl;
printf("HelloWorld!\n");
coutendl;
return0;
}
已经调试过,该段程序没问题。俺们通过将正确的改为错误的来了解和熟悉调试过程与方法。
缺三少四与丢三落四
头文件(*.h)
注解掉头文件,调试
//#include"math.h"
Compiling...
arithmeticCJ.cpp
F:\BD