c/c++教程 - 1.6 程序流程结构 if switch do while for break continue goto ?:三目运算符

八、程序流程结构

c/c++支持最基本的三种程序运行结构顺序结构、选择结构、循环结构

顺序结构:程序按顺序执行,不发生跳转。

选择结构:依据条件是否满足,有选择的执行相应功能。

循环结构:依据条件是否满足,循环多次执行某段代码。

参考视频:https://www.bilibili.com/video/BV1et411b73Z?from=search&seid=4205594350351753444

已投币三连,非常好的视频教程,感谢up主的奉献。

 

(1)选择结构

1. 使用 if语句,语法为:

if (条件) {
    /* 满足条件后,可执行括号中内容 */
    // ...
}
if (条件1) {
    /* 满足条件1后,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
else if (条件2) {
    /* 如果条件1不满足,而条件2满足,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
else if (条件3) {
    /* 如果条件1、条件2均不满足,而条件3满足,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
...
...
...
if (条件1) {
    /* 满足条件1后,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
else if (条件2) {
    /* 如果条件1不满足,而条件2满足,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
else if (条件3) {
    /* 如果条件1、条件2均不满足,而条件3满足,执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
...
...
...
else {
    /* 如果条件1、条件2、条件3...均不满足,则执行本括号中程序 */
    // ...
    /* 执行完程序后,结束整个if结构 */
}
int main() {

	int a = 0;

	if (a < 0) {
		cout << "a小于0" << endl;
	}
	else if (a > 0) {
		cout << "a大于0" << endl;
	}
	else {
		cout << "a等于0" << endl;
	}

	system("pause");
	return 0;
}
---------------------------------------------------
a等于0
请按任意键继续. . .

if支持多重嵌套。

 

2. 三目运算符

三目运算符可实现简单的判断。语法:

表达式1 ? 表达式2 : 表达式3
// 如果表达式1为真,则执行表达式2,并返回表达式2的结果。
// 如果表达式1为假,则执行表达式3,并返回表达式3的结果。
int main() {

	int a = 10;

	a > 0 ? cout << "a大于0" << endl : cout << "a小于0" << endl;

	system("pause");
	return 0;
}
------------------------------------------------------------------
a大于0
请按任意键继续. . .

 

3. switch语句。执行多条件分支语句。语法:

switch (表达式) {
    case 结果1: 执行代码段; break;
    case 结果2: 执行代码段; break;
    case 结果3: 执行代码段; break;
    ...
    ...
    ...
    defaule: 执行代码段; break;
}
	int usr=0;
	cout << "请输入1、2、3其中一个数字" << endl;
	cin >> usr;
	switch (usr)
	{
	case 1:
		cout << "输入了1" << endl; break;
	case 2:
		cout << "输入了2" << endl; break;
	case 3:
		cout << "输入了3" << endl; break;
	default:
		cout << "不在规定范围内输入" << endl; break;
	}
--------------------------------------------------------------
请输入1、2、3其中一个数字
3
输入了3
请按任意键继续. . .

注意:别少写break,少写break代码会继续向下执行。直到再次遇到break,才会结束整个switch。

 

(2)循环结构

1. while循环语句。语法:

while (条件) {
    /* 满足条件后,执行本括号中程序 */
    // ...
    /* 执行完程序后,接着判断条件。如满足,继续循环执行本括号程序;如不满足,结束while循环 */
}

 

2. do while循环语句。语法:

do {
    // 先执行一次本括号程序
    // ...
    /* 执行完程序后,判断条件。如满足,继续循环执行本括号程序;如不满足,结束while循环 */
}while (条件)

 

3. for循环语句。满足循环条件,执行循环语句。语法:

for (表达式1; 表达式2; 表达式3)
{
    循环语句
}

for (初始化语句; 循环条件; 自增或自减)
{
    循环语句
}
	int i, j;
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 10; j++)
		{
			cout << "j ";
		}
		cout << "i" << endl;
	}
-------------------------------------------
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
请按任意键继续. . .

(3)跳转语句

break语句:用于跳出选择结构或循环结构。

(注意:break只会跳出距离它最近的for、while这些循环语句,跟if没有关系)

作用:

出现在switch语句中,作用是终止case并跳出switch。

出现在循环语句中,作用是跳出当前的循环语句。

出现在嵌套循环语句中,跳出最近的内层循环语句。

	int usr=0;
	cout << "请输入1、2、3其中一个数字" << endl;
	cin >> usr;
	switch (usr)
	{
	case 1:
		cout << "输入了1" << endl; //break;
	case 2:
		cout << "输入了2" << endl; //break;
	case 3:
		cout << "输入了3" << endl; //break;
	default:
		cout << "不在规定范围内输入" << endl; //break;
	}
---------------------------------------------------------------
请输入1、2、3其中一个数字
2
输入了2
输入了3
不在规定范围内输入
请按任意键继续. . .
	int i, j;
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 10; j++)
		{
			if (j >= 5)
				break;
			cout << "j ";
		}
		cout << "i" << endl;
	}
---------------------------------------------------------
j j j j j i
j j j j j i
j j j j j i
j j j j j i
j j j j j i
请按任意键继续. . .
	int i, j;
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 10; j++)
		{
			cout << "j ";
		}
		cout << "i" << endl;
		break;
	}
------------------------------------------------------
j j j j j j j j j j i
请按任意键继续. . .

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

	int i, j;
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 10; j++)
		{
			if (j == 5 || j == 8)
			{
				continue;
			}
			cout << j;
		}
		cout << "i" << endl;
	}
--------------------------------------------------------
01234679i
01234679i
01234679i
01234679i
01234679i
请按任意键继续. . .

goto语句:可以无条件跳转语句。

(注意:少用,goto不利于梳理代码逻辑)

	cout << "执行代码段1" << endl;
	goto CODE_1;
	cout << "执行代码段2" << endl;
	cout << "执行代码段3" << endl;
	CODE_1:
	cout << "执行代码段4" << endl;
---------------------------------------------------------
执行代码段1
执行代码段4
请按任意键继续. . .

你可能感兴趣的:(c/c++)