第8章 C++流程控制
8.1判断
8.1.1 if
语法:
if (条件)
语句
含义是:如果条件为ture,就执行语句。
8.1.2 语句块
又称复合语句
语句块包含0个或者多个语句,由{}括起来,语句块可以嵌套起来
8.1.3 if…else
语法:
if (条件)
语句1
else
语句2
含义:如果条件为true 则执行语句1,否则执行语句2
8.1.4 if…else if…else
语法:
if(语句1)
语句1
else if(条件2)
语句2
else if(条件3)
语句3
………
else if (条件m)
语句m
else
语句n
8.1.5 流程图 process diagram
8.2 分支
switch…case…default语句构成了C++的分支语句
switch(变量)
{
case值1:
语句1
case值2:
语句2
…
case值m:
语句m
default:
语句n
}
switch表示开关,case表示情形,dafault表示默认。
常见用法:
l case后面必须是整形常量,如:
case 100 : //ok
case 100.1: //error 不能使用浮点型
case “1”: //error 不能使用字符串
case ‘1’: // ok,整形提升,相当于casr 49
case true: // ok 相当于case 1
l case后面的值不能重复
l switch语句中,default不是必须写的
l 每个case语句出现顺序没有限制,default语句也不必在最后一个出现
8.3 循环 loop
8.3.1 while
语法:
while(测试条件)
单词回合语句
含义:当条件为true是,则执行单词会和语句,否则结束循环;返回执行上一步骤。
关键词break 可以用来跳出while循环
8.3.2 do…while
语法:
do
单词会和语句
while(测试条件)
含义:执行单词回合语句;当测试条件为true是,则返回上一步,否则结束循环。
区别:do…while是先做了再判断,如果true,就继续做。只要条件满足就一直循环
do…until是一直循环,知道条件满足就结束,两者是相反的。
8.3.3 for
语法:
for(初始化语句1;测试条件;语句3)
单词回合语句4
含义:执行初始化语句1;判断测试条件,是true则执行单次回合语句4,否则结束循环;执行语句3,重复上一步骤
for循环比较适用于已知循环次数
注意 初始化语句1、测试条件、语句3都可以是空语句。
8.4跳转语句
8.4.1 套嵌循环
循环可以套嵌使用
例:输出99乘法表
// 8.4.1.cpp : 定义控制台应用程序的入口点。
//p126页 8.4.1实例
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
for (int i = 1;i<=9; i++)
{
for(int j = 1;j<=9;j++)
{
cout<<i<<"*"<<j<<"=";
//设置宽度为2,并且左对齐
cout<<setiosflags(ios::left)<<setw(2);
cout<<(i*j)<<" ";
}
cout <<endl;
}
return 0;
}
8.4.2 使用break中止循环
break只能跳出当前的循环
8.4.3使用break中止分支
用以跳出当前的case语句块和default语句块
8.4.4 continue
只能用于循环语句中,用以结束本次回合,继续下一轮循环。
8.4.5 goto
8.4.6合理使用goto语句