background image

本章中我们将讨论控制程序执行顺序的语句。有三重程序控制语句:选择语句,
包括 if 和 switch 语句;循环语句,包括 for,,while 和 do-while;跳转语句,
包括 break,continue,return 和 goto。除了 return 语句我们会在本书的后
面章节介绍外,其它的流程控制语句我们都会在本章进行讨论,包括前面我
们意见接触过的 if 和 for 语句。
必备技能 3.1if 语句
    在第一章中我们就介绍过 if 语句,现在我们来进一步研究一下 if 语句。if 语
句的完整形式如下:
if (表达式) 语句;
else 语句;
上面的形式中,if 和 else 的目标语句都是单条的。其中的 else 语句是可选的 。
if 和 else 的目标语句也可以是多条语句构成的代码块。使用代码块作为目标语
句的形式如下:
if(表达式)
{
    语句序列
}
else
{
    语句序列
}
    如果 if 语句中的条件表达式的值为 true(真),则会执行目标代码(块);
否则,如果存在 else 分支,则会执行 else 的目标代码(块)。if 和 else 的目
标代码(块)是不可能都执行的。其中用来控制 if 语句的条件表达式可以是任
何类型的有效的 C++表达式,其结果为 true 或者 false。
    

下面的程序通过一个简单的 猜数字 的游戏演示了 if 语句的用法。程序生成

一个随机数,然后提示用户输入自猜想的数字。如果用户猜对了,则打印信
息"**Right**。程序中还用到了另外的一个 C++库函数,rand()。该函数用来
产生一个随机的整型数。使用这个函数需要引入<cstdlib>头文件。
//猜数字
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
    int magic;
    int guess;

    magic = rand(); // 随机地生成一个数字

    cout << "Enter your guess: ";
    cin >> guess;