5、程序流程控制

选择结构

if-else if-else

和java的用法一样

例子:

#include<iostream>
using namespace std;

int main() {

	int age = 0;

	cout << "请输入年龄" << endl;
	cin >> age;

	if (age < 18) {
		cout << "未成年" << endl;
	}
	else if (age < 45) {
		cout << "青壮年" << endl;
	}
	else {
		cout << "注意养生" << endl;
	}
	
	
	system("pause");
	return 0;
}

三目运算符

作用: 通过三目运算符实现简单的判断

语法表达式1 ? 表达式2 :表达式3

和java一样,表达式1,需要是bool类型

例子:

#include<iostream>
using namespace std;
#include<string>

int main() {

	int age = 24;

	string msg = (age < 18) ? "未成年" : "成年";

	cout << msg << endl;
	
	
	system("pause");
	return 0;
}

switch-case

作用:执行多条件分支语句

和java的一样,只不过,cpp的switch后面只支持字符型和整形

如果case后面有多行代码,那么需要使用大括号括住

语法

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

例子:

#include<iostream>
using namespace std;
#include<string>

int main() {

	int day = 1;
	string msg = "";
	switch (day) {
		case 1:
			msg = "星期一";
			break;
		case 2:
			msg = "星期二";
			break;
		default:
			msg = "懒得写那么多了";
			break;
	}
	cout << msg << endl;

	system("pause");
	return 0;
}

循环结构

while

作用:满足循环条件,执行循环语句

语法 while(循环条件){ 循环语句 }

解释:只要循环条件的结果为真,就执行循环语句

例子:

#include<iostream>
using namespace std;

int main() {
	int i = 0;
	while (i < 10) {
		cout << i << endl;
		i++;
	}
	system("pause");
	return 0;
}

do-while

作用: 满足循环条件,执行循环语句

语法do{ 循环语句 } while(循环条件);

注意:与while的区别在于do...while会先执行一次循环语句,再判断循环条件

例子:

#include<iostream>
using namespace std;

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

	system("pause");
	return 0;
}

for

作用: 满足循环条件,执行循环语句

语法 for(起始表达式;条件表达式;末尾循环体) { 循环语句; }

例子:

#include<iostream>
using namespace std;

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

	system("pause");
	return 0;
}

控制关键字

break

作用: 用于跳出选择结构或者循环结构

break使用的时机:

continue

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

goto

作用:可以无条件跳转语句

语法goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

注意:在程序中不建议使用goto语句,以免造成程序流程混乱

例子:

#include<iostream>
using namespace std;

int main() {
	
	int i = 0;
	goto flag;
	i++;
	flag:
	cout << i << endl; //0

	system("pause");
	return 0;
}