首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

《小弟我的第一本C++书》节选:4.4.1 程序是控制语句串联起来的语句

2014-01-05 
《我的第一本C++书》节选:4.4.1 程序是控制语句串联起来的语句http://www.chenlq.net4.4.1程序是控制语句串

《我的第一本C++书》节选:4.4.1 程序是控制语句串联起来的语句
http://www.chenlq.net

4.4.1  程序是控制语句串联起来的语句

了解了表达式和各种语句之后,就相当于掌握了写作文要用到的词语和句子,但是,光有词语和句子是无法构成一篇通顺的有意义的文章的。要完成一篇文章,还需要知道文章的结构,再按照一定的顺序和结构安排词语和句子,这样才能写出一篇有意义的文章,否则只会是一堆杂乱无章的句子。编写程序就像写文章一样,在掌握了基本的语句之后,也要知道程序有哪些结构,如何将这些零散的语句串联起来描述一个完整的计算过程,从而将语句编织成程序。 下面就以简单的计算两个数之和的程序为例,来看看程序中的语句是如何串联起来的。
 

// 计算两个数的和
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<"请输入两个整数:"<<endl;
     
    int a,b;
    cin>>a>>b;
    int c = a + b;
    cout<<a<<"和"<<b<<"的和是:"<<c<<endl;
 
    return 0;
}

我们知道,所有程序都是从入口函数_tmain()开始执行的。进入入口函数后,程序便开始从上往下依次执行程序中的每一条语句,程序的执行流程在整个执行过程中不会发生改变。我们称这样的执行顺序为程序的顺序结构。到现在为止,所有的例程都是顺序执行的。顺序结构的程序可以完成一些简单的只需一步步顺序执行的任务。

    最佳实践:通过单步调试来了解程序的执行过程 程序的执行是按照代码连续向下的,而所谓的断点,就是让程序在执行过程中,暂停在某一个位置,从而可以让我们对程序执行过程中的某些状态进行分析,例如某个临时变量的数值、某个函数的调用结果等,从而判断程序的执行是否符合设计预期,更好地发现并解决程序中的问题。 当程序结构比较复杂时,程序的执行过程分析起来就比较困难,这时就可以在程序中需要进行详细分析的地方设置一个断点,然后用单步调试的方法执行代码,清楚地查看程序的执行过程。在Visual Studio中,我们可以让光标停留在我们想要设置断点的代码行,然后点击Debug->Toggle Breakpoint菜单项来插入一个断点。在Debug模式下,当程序运行到这个断点的时候,就会停下来,从而可以让我们对程序进行单步执行,分析程序的运行过程。

现实世界是复杂的,很多问题并不是只用顺序步骤就可以解决。还是以上面的求两个数和的程序为例子,如果要求输入的数必须大于100,则只有大于100的两个数才能计算它们的和。这时就需要判断输入的数是否大于100,如果满足条件,就计算和;如果不满足,就提示用户输入的数不满足条件,无法计算。在这个过程中,需要根据条件决定程序执行的路径,这就是选择结构。选择结构可根据不同条件做出决策,选择不同的执行路径,实现不同的功能。例如:
 

int a,b;
cin>>a>>b;
// 选择结构,根据条件不同,执行的路径也不同
if( a < 100 || b < 100 )
{
    // 如果用户输入的数据不满足条件,
    // 则提示用户输入错误
    cout<<"请输入两个大于100的数。"<<endl;
}
else
{
    // 如果用户输入的数据满足条件,
    // 则计算结果并输出
    int c = a + b;
    cout<<a<<"和"<<b<<"的和是:"<<c<<endl;
}

再来看另外一种情形:要求输入100个数后计算它们的和。如果采用顺序结构,那么就要用到100个输入语句来接收用户的输入数据,这样就会显得很烦琐。实践证明,接收用户输入的动作是可以重复进行的,完成一次输入后可以再次输入,这样形成一个循环往复的过程,最终通过简单的语句来完成复杂的输入。像这种可重复多次循环执行的语句,就形成循环结构。循环结构主要用于一些需要反复执行的语句,这些语句完成的功能需要多次重复实现。例如:
 

// 循环结构
int nArray[100];
 
// 用循环结构多次接收用户输入
for( int i = 0; i < 100; ++i )
{
    cin>>nArray[i];
}
 
// 用循环结构,计算多个数的和
int nTotal = 0;
for( int i = 0; i < 100; ++i )
{
    nTotal += nArray[i];
}
 
cout<<"输入的100个数的和是:"<<nTotal<<endl;

顺序结构、选择结构、循环结构是三种基本的程序控制方式。通过这三种方式的组合,可以描述复杂的程序执行流程。如果说程序中的语句是一颗颗璀璨夺目的珍珠,那么这三种控制结构就是将珍珠串联起来的丝线,只有通过丝线的串联,零散的珍珠才能构成一串美丽的项链。正是依靠这三种控制结构将分散的语句串联起来,表达一定的运算逻辑,才形成了一个完整的程序。

[解决办法]
LZ结贴吧。

热点排行