C++流程控制

2

C++流程控制

  在前面已经介绍了C++的运算符,这里主要介绍C++的流程控制,包括if条件语句,switch条件语句,while循环,do…while循环,for循环,goto语句,以及continue和break跳转语句。

C++条件语句

if条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<iostream>
using namespace std;

int main() {

int a = 10;

//if单分支语句
if (a > 5) {
cout << "a > 5" << endl;;
}

//if...else双分支语句
if (a > 20) {
cout << "a > 20" << endl;
}else{
cout << "a <= 20" << endl;
}

//if...else if...else多分支语句
if (a > 20) {
cout << "a > 20" << endl;
}else if (a < 0) {
cout << "a < 0" << endl;
}else{
cout << "0 <= a <= 20" << endl;
}

return 0;
}

1

switch case语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
using namespace std;

int main() {
int a = 6;

//switch中的表达式可以为整型或者字符型,不能为浮点型,字符串型,或者一段区间。而且switch语句具有穿透效果,直至遇到break才会跳出。
switch (a){

case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday is free" << endl;
case 7:
cout << "Sunday is free" << endl;
break;
default:
cout << "Wrong" << endl;
break;
}

return 0;
}

2

while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;

int main() {
int i = 1;
int sum = 0;

//while循环,每次循环开始时,判断表达式的内容,为真时执行循环体,否则跳出循环
while (i < 10) {
sum += i++;
}
cout << "1 + 2 + 3 + ... + 9 = " << sum << endl;

return 0;
}

4

do…while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;

int main() {
int i = 1;
int sum = 0;

//do...while循环,每次循环结束后,判断表达式的内容,为真时执行下一次循环体,否则跳出循环
//注意do...while语句,一定会执行一次,而且最后有分号。而while语句,可能一次都不会执行。
do{
sum += i++;
} while (i < 10);
cout << "1 + 2 + 3 + ... + 9 = " << sum << endl;
}

5

for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;

int main() {
int sum = 0;

//for循环,括号中有三个表达式,分别为初始化表达式1,布尔表达式2,步进表达式3,循环体内容记为4
//for循环的执行过程为1->2->4->3->2->4->3->...->2,注意表达式1,2,3都可以省略,但是分号不可以省略。
//三种循环往往可以得到相同的结果,如果确定执行次数一般使用for循环,如果不确定执行次数则可以使用while循环
for (int i = 1; i < 10; i++) {
sum += i;
}
cout << "1 + 2 + 3 + ... + 9 = " << sum << endl;

return 0;
}

6

goto语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;

int main() {
int sum = 0;

//goto语句,用于强行跳转到指定语句,大多用在多层循环的跳出,其余情况下避免使用goto语句,会导致编码风格混乱
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == 6 && j == 6) {
goto print;
}
cout << i * 10 + j << "\t";
}
cout << endl;
}

print:
cout << "......" << endl;

return 0;
}

7

continue关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;

int main() {
int sum = 0;

//continue关键字,立即结束本次循环体中的内容,继续进行下一次循环
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
sum += i;
}

cout << "1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 = " << sum << endl;

return 0;
}

4

break关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;

int main() {
int sum = 0;

//break关键字,立即结束该层循环,如果是多层循环嵌套,则进行上一层循环的下一次循环
//break语句除了用于循环结构,还可以用于switch语句中,跳出选择结构
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
sum += i;
}
cout << "1 + 2 + 3 + 4 = " << sum << endl;

return 0;
}

5

C++小结

  流程控制每种语言都大同小异,因为流程控制是所有语言的基础,只有掌握不同的流程控制语句,才能达到我们想要的目的,虽然难度较小,但是非常重要,无论以后从事什么样的研究,流程控制都是必不可少的,因此需要熟练掌握。

-------------本文结束感谢您的阅读-------------
0%