C++基础——程序流程结构

1 选择结构

1.1 if语句

if语句用于判定,如果条件满足则执行其中的代码,如果不满足则不执行。
常用的格式如下:

  • 单条判断
#include 
using namespace std;

int main() {
    int a;
    cout << "输入一个整数:" << endl;
    cin >> a;
    if (a < 10) {
        cout << "a小于10" << endl;
    }
    return 0;
}

输入和输出

输入一个整数:
5
a小于10

输入一个整数:
11
  • 两条判断
#include 
using namespace std;

int main() {
    int a;
    cout << "输入一个整数:" << endl;
    cin >> a;
    if (a < 10) {
        cout << "a小于10" << endl;
    } else {
    	cout << "a大于等于10" << endl;
    }
    return 0;
}

输入和输出

输入一个整数:
5
a小于10

输入一个整数:
11
a大于等于10

上面这种只支持两种判断,true走一路,false走一路

  • 多条判断
    这种方式支持多种判断结果
int main() {
    int a;
    cout << "输入一个整数:" << endl;
    cin >> a;
    if (a < 10) {
        cout << "a小于10" << endl;
    } else if (a < 20) {
        cout << "a大于等于10,小于20" << endl;
    } else {
        cout << "a大于等于20" << endl;
    }
    return 0;
}

输出

输入一个整数:
5
a小于10

输入一个整数:
11
a大于等于10,小于20

输入一个整数:
21
a大于等于20

1.2 三目运算符

语法:表达式1 ?表达式2:表达式3
这个语句中,表达式1为一个bool类型的数据,如果该数据为true,则执行表达式2,否则执行表达式3。
上面的两条判断可以进入如下修改,使用三目运算符

#include 
using namespace std;

int main() {
    int a;
    cout << "输入一个整数:" << endl;
    cin >> a;

    a < 10 ? cout << "a小于10" << endl : cout << "a大于等于10" << endl;

    return 0;
}

1.3 switch语句

switch语句用于执行多条分支语句
语法

switch(表达式)
{
	case 结果1:执行语句;break;
	case 结果2:执行语句;break;
	...
	default:执行语句;break;

}

代码示例:

#include 
using namespace std;

int main() {
    int a;
    cout << "输入一个整数:" << endl;
    cin >> a;

    switch (a) {
        case 0:
            cout << "a = 0" << endl;
            break;
        case 1:
            cout << "a = 1" << endl;
            break;
        default:
            cout << "a is not 0 or 1" << endl;
            break;
    }

    return 0;
}

输入和输出

输入一个整数:
0
a = 0

输入一个整数:
1
a = 1

输入一个整数:
2
a is not 0 or 1

需要注意的是,switch中的判断语句只能是整型或者字符型,不支持字符串类型。
如果case中没有break,则会顺序执行后面的case,导致错误。

2 循环结构

C++中支持三种循环结构

2.1 for循环

语法:for(起始值;条件表达式;末尾循环体){循环内容;}
for循环根据一个变量来判断执行多少次循环体内容。该变量存在一个初始值,只要该变量满足条件表达式,则会执行循环内容,执行完一次后,会根据末尾循环体修改变量,然后再次根据条件表达式来判断是否执行下次循环。

for (int i = 0; i < 10; ++i) {
    cout << "hello" << endl;
}

这段代码会打印10次hello

2.2 while循环

语法:while(条件表达式){循环内容;}
上面的for循环修改后为:

int i = 0;
while (i < 10) {
    cout << "hello" << endl;
    i++;
}

2.3 do…while循环

语法:do {循环内容;} while(条件表达式)
这个与while相似,只是先执行再判断

int i = 0;
do {
    cout << "hello" << endl;
    i++;
} while (i < 10);

3 跳转语句

3.1 break语句

break主要用于跳出当前循环

for (int i = 0; i < 10; ++i) {
    cout << "hello" << endl;
    if (i > 5) {
        break;
    }
}

该循环满足条件打印的值是0-6,当i为6时,会跳出当前循环,结束循环,所以会打印7次hello

3.2 continue语句

continue语句用于跳过当次循环,执行下次循环

for (int i = 0; i < 10; ++i) {
    if (i < 3) {
        continue ;
    }
    cout << "hello i = " << i << endl;
}

由于0,1,2满足if语句条件,所以这三次都会跳过后面的cout输出语句。
打印值为:

hello i = 3
hello i = 4
hello i = 5
hello i = 6
hello i = 7
hello i = 8
hello i = 9

3.3 goto语句

goto用于跳到指定代码处执行,通常不推荐使用,一来会影响代码的可读性,二来可能会导致代码混乱。

    for (int i = 0; i < 10; ++i) {
        if (i == 3) {
            goto FLAG;
        }
        cout << "hello i = " << i << endl;
    }

FLAG:
    cout << "this is flag" << endl;

输出:

hello i = 0
hello i = 1
hello i = 2
this is flag

你可能感兴趣的:(C++语言,c++,算法,开发语言)