天天看点

C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式

  目的达到了。但是程序是如何执行的,作为学习者,我们需要知道“内幕”。作为开发者,尤其是当程序执行结果与预期的不一样时,需要找到问题究竟出在什么地方。

  code::blocks提供了另外一种运行程序的方式——单步执行,可以由编程者控制,逐条执行程序。

  为了展示这种方式,先看一个程序:

  例1.2 一个能赋值、计算和输出的程序

  这个程序有点小长,也没有多给出注释。

  静心,看完,你是有感觉的。

  中间出现了一些“赋值”,如第9行b=50,请念出声音来:“b赋值为50”。请再念两遍,重复是理解的秘诀。

  用术语解释,b=50,就是要将50这个整数赋值给变量b,换句话说,变量b的值成了50。后面的语句,基本都是由赋值和输出组成的。

  你你已经学会的办法,在code::blocks中连编和运行程序,得到的运行结果是:

  

C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式

  对于初学者,将程序中第8、11、14、18、19行的输出语句与运行结果中的五行输出一一对应起来,这不是一件太难的事。注意到这五个输出语句最后都会输出endl,都会换行,所以一行的输出,对应的是一个输出语句。

  但是,在程序运行中到底发生了什么?作为编程人员,有权利看到“内幕”吗?怎么能够做到?

  微课件1.4 程序执行的两种方式,给出了问题的答案。

C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式

<a target="_blank" href="http://download.csdn.net/detail/sxhelijian/6792153">下载:微课件1.4 程序执行的两种方式</a>

C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式

  初学编程,两种运行程序的方法都要会。我们将逐渐学会编程序,在编制程序过程中,根据不同的需要,也能够根据需要选择合适的执行方式,查看程序的执行结果,或者要观察到执行过程,以满足找出bug的需要。

  表1.1 对两种执行程序的方式进行了对比。

C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式
C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式

c/c++不能解释执行,不直观,所以有些人认为c/c++不适合初学者。然而,从理解计算机和编程本质的角度,c/c++对专业学生不可替代。

其实,各种编程环境都提供了单步执行之类的功能。这个功能被归类为调试工具中的一部分。

在现在的教学中,大多数学生学完程序设计,仍然不会调试。因为有的教师不讲,学生也不用。我的体会是,接触的晚了,学习者没有体会到单步执行的好处,就不愿意去用这种方式的,尽管听说过其好处。不去用,这种好处却体会不到。这是个怪圈。

现在,我将单步执行称为执行程序的第二种方式,提升了其地位。单执行对于一名开发者而言,配得上这一地位。在刚一接触程序设计时就会用,自然没有后面“横插进来”造成的抵触。

单步太繁琐?希望步子大一些。不着急,后面还要介绍设置断点等功能。围绕单步执行,还有“组合工具”已经给我们配备。现阶段程序不大,先就 step by step。

继续阅读