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

回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录]

 

1.2.4 Code::Blocks运行程序的两种方式

  微课件1.2展示的程序运行方式,只要连编(Build)成功了,一点运行(Run)按钮,看结果就可以了。
  目的达到了。但是程序是如何执行的,作为学习者,我们需要知道“内幕”。作为开发者,尤其是当程序执行结果与预期的不一样时,需要找到问题究竟出在什么地方。
  Code::Blocks提供了另外一种运行程序的方式——单步执行,可以由编程者控制,逐条执行程序。
  为了展示这种方式,先看一个程序:
  例1.2 一个能赋值、计算和输出的程序

//例程ch1-2.cpp
#include <iostream>
using namespace std;
int main( )
{
    int a=0,b;      //声明a、b是整数类型(int)的变量,指定a的初值是0
    double r,pi,s;  //声明r、pi、s是双精度浮点类型(double)的变量,
    cout<<a<<"  "<<b<<endl;
    b=50;
    a=b+50;
    cout<<a<<"  "<<b<<endl;
    b=a*b;
    a=a/3;
    cout<<a<<"  "<<b<<endl;
    r=2.5;
    pi=3.14;
    s=2*pi*r;
    cout<<"周长为: "<<s<<endl;
    cout<<"面积为: "<<pi*r*r<<endl;
    return 0;
}

  这个程序有点小长,也没有多给出注释。
  静心,看完,你是有感觉的。
  中间出现了一些“赋值”,如第9行b=50,请念出声音来:“b赋值为50”。请再念两遍,重复是理解的秘诀。
  用术语解释,b=50,就是要将50这个整数赋值给变量b,换句话说,变量b的值成了50。后面的语句,基本都是由赋值和输出组成的。
  你你已经学会的办法,在Code::Blocks中连编和运行程序,得到的运行结果是:
  
  对于初学者,将程序中第8、11、14、18、19行的输出语句与运行结果中的五行输出一一对应起来,这不是一件太难的事。注意到这五个输出语句最后都会输出endl,都会换行,所以一行的输出,对应的是一个输出语句。
  但是,在程序运行中到底发生了什么?作为编程人员,有权利看到“内幕”吗?怎么能够做到?
  微课件1.4 程序执行的两种方式,给出了问题的答案。

 

下载:微课件1.4 程序执行的两种方式

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

 

 


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

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

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

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

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

回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录]

时间: 2024-11-08 23:24:45

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

C++程序设计实践学材系列(7)——1.1.3 简单程序的一般“套路”

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.1.3 简单程序的一般"套路" 考察例1.1提供的程序,期望的运行结果是 hello world. 与之直接相关的语句是: cout<<"Hello World."<<endl; 其中: cout代表用于输出(Output)的"控制台"(Console)(--cout的由来可以视作为console output) <<是用于完成&quo

C++程序设计实践学材系列(2)——目录

C++程序设计实践学材目录 (随写作进展更新) 前言 第1讲 初识C++程序设计 1.1 写出第一个C++程序   1.1.1 观摩一个C++程序 1.1.2 程序中可以加上给人看的注释  1.1.3 简单程序的一般"套路" 1.2 让程序"跑"起来 1.2.1 下载.安装Code::Blocks  1.2.2 在Code::Blocks下编辑.运行第一个程序 1.2.3 见识编程中的"低级"错误 1.2.4 Code::Blocks运行程序的两

C++程序设计实践学材系列(3)——第1讲 初识C++程序设计

回到系列文章的目录--[系列文章目录] 第1讲 初识C++程序设计 计算机,传统的包括台式机.笔记本,移动计算时代加进来了手机.平板电脑等移动设备,还有更传统的大型机.中型机,以及数不清的刷卡机.智能家电.工业产品等称之为"专用计算机".这些可以称为计算机的设备在工作时,自动执行程序是其共同的特征. 程序,是这些占据了世界上各个角落的设备的灵魂和主宰.这个世界,由掌握了程序设计的人员所创造.正在看这个页面的读者,或者身在其中,或者将要进入这个领域. 程序设计就是针对具体问题,写出解决特

C++程序设计实践学材系列(9)——1.2.1 下载、安装Code::Blocks

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.2.1 下载.安装Code::Blocks Code::Blocks是一个开源的自由软件. 下载Code::Blocks,到其官网(http://www.codeblocks.org),可以找到最新的版本,以及以往的版本. 可以下载Code::Blocks的源代码(Download the source code),这样,就可以测试.修改和扩充Code::Blocks了.但对于初学者而言,是要用Code::Blocks编

C++程序设计实践学材系列(25)——1.6 写程序的行规

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.6 写程序的行规 家有家法,行有行规.进入一个新的领域,就需要知道这道这个领域的规矩,并按规矩行事.不要想着挑战规矩,挑战规矩应该是在行业中立足以后的事,行规中不少需要写出来的规矩约束的实际就是小学徒.在规矩中成长起来的老手,却常想不起行规怎么说的,但他却真正在照规矩办事. 编程序有编码规范.几乎在每家公司,都会采用一定的编码规范要求开发团队.有些人不喜欢编码规范,毕竟受约束的事,能少就少.但无论怎么讲,按照编码规范要求

C++程序设计实践学材系列(10)——1.2.2 在Code::Blocks下编辑、运行第一个程序

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.2.2 在Code::Blocks下编辑.运行第一个程序 初学编程,第一个.每一次.第一步很多,享受这个全新的世界. 要编辑.运行程序C++程序,启动Code::Blocks,首先要建立一个C++项目.Code::Blocks可以做很多的事情,作为编程的初学者,从完成控制台应用(Console application)开始学编程. 现在,请下载并学习"微课件1.2 编辑.运行第一个程序". 下载:微课件1.2 

C++程序设计实践学材系列(23)——1.5.3 体会“自顶向下,逐步求精”思想

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.5.3 体会"自顶向下,逐步求精"思想 接下来,我们的胃口开始大了. 提出来一种考虑问题的思路,其实已经蕴涵在例1.7输出7行星号的程序中了. 这种解决问题的思维方式是--"自顶向下,逐步求精". 要输出的是: 写出的程序(例程ch1-13.cpp),循环7次.每次的循环,输出1行.因此,输出了7行,如下面左侧的代码所示. 这时再多想一些,输出一行方面可以动些脑子.于是在循环里面,又加了一个

C++程序设计实践学材系列(11)——1.2.3 见识编程中的“低级”错误

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.2.3 见识编程中的"低级"错误 在自己编程序时,缺个符号,错个表达,这很常见.介绍一个学习方法--撞错.刚学编程,在已经能正确运行的程序基础,故意捣乱,将对的改错了观察一下,这是个非常好的学习方法. 用这种故意捣乱的方法,会见识到各种低级的错误.以后编程中真的出现了一时的疏忽,你可以给出轻蔑的一撇:"小样,见过你了." 不少问题,只是初学者初涉编程才会遇到,是属于积累"常识&qu

C++程序设计实践学材系列(13)——1.2.5 选择Code::Blocks的理由

回到系列文章的目录--[系列文章目录] 回到本章目录--[第1章目录] 1.2.5 选择Code::Blocks的理由 Code::Blocks可以用来创建项目.编写C++程序,支持C++程序的运行.调试.Code::Blocks作为工具软件,可以归类为集成开发环境. 集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面工具,集成了代码编写功能.分析功能.编译功能.调试功能等