【C/C++】分支和循环

先向大家介绍一下分支和循环有哪些。
分支语句 if 、switch ;
循环语句 while 、 for 、do while ;

一、分支语句

1、if 语句的语法结构是怎么样的?

if(表达式)
	语句;
	
if(表达式)
	语句1else
	语句2//多分支
if(表达式1)
	语句1else if (表达式2)
	语句2else
	语句3//执行多条语句时
if(表达式1{
	语句1;
	语句2.... ;
	.... ;
	.... ;
}
else if (表达式2{
	语句1;
	语句2.... ;
	.... ;
	.... ;
}
else
{
	语句1;
	语句2.... ;
	.... ;
	.... ;
}

如果表达式的结果为真,则语句1执行,否则表达式2执行。
什么是假,什么是真? 0表示假,非0表示真。虽然一条语句可以省略{ } 但是不应该省略。

2、switch 语句的语法结构是怎么样的?
switch 语句也是一种分支语句。常常用于多分支的情况。

switch(整型表达式)
{
	case 整形常量表达式:
		语句项;
}

switch 语句中,我们没法直接现实分支,搭配break 使用才能实现真正的分支。
//break 语句的实际效果是把语句列表划分为不同的部分

#include < stdio.h >

int main()
{
	int day = 0;
	switch(day)
	{
		case 1:
			printf("星期一\n");
			break;
		case 2:
			printf("星期二\n");
			break;
		case 3:
			printf("星期三\n");
			break;
		case 4:
			printf("星期四\n");
			break;
		case 5:
			printf("星期五\n");
			break;
		case 6:
			printf("星期六\n");
			break;
		case 7:
			printf("星期天\n");
			break;
		//如果表达的值域所有的case标签的值都不匹配怎么办?此时是使用default。
		default:
			break;
	}
	return 0;
}

当条件满足的情况下,分支语句后的语句执行,否则不执行。但是这个语句只会执行一次。但是当我们需要多次调用语句时。此时使用循环语句。
二、循环语句
1、while 语法

while(表达式)
	循环语句;

举例子:打印1-10的数字

#include < stdio.h>
int main()
{
	int i = 1;
	while(i <= 10)
	{
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

其实在循环中只要遇到 break , 就停止后期的所有的循环,直接终止循环。 所以 while 中的 break 是用于永久终止循环的。
continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接调整到 while 语句的判断部分。进行下一次循环的人口判断。

2、for 语法

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

表达式1为初始化部分,用于初始化循环变量的。表达式2为条件判断部分,用于判断循环时候终止。表达式3为调整部分,用于循环条件的调整。
例子:打印 1 - 10的数字

#include < stdio.h>
int main()
{
	int i = 0;
	for(i = 1; i < 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

break 、 continue 也可以同样使用。
C++ 11提供了一个特殊版本的 for 循环,在很多情况下,它都可以简化数组的处理,这就是基于范围的 for 循环。在使用基于范围的 for 循环处理数组时,该循环可以自动为数组中的每个元素迭代一次。
for (dataType rangeVariable : array)
statement;
现在来仔细看一看该格式的各个部分:
dataType:是范围变量的数据类型。它必须与数组元素的数据类型一样,或者是数组元素可以自动转换过来的类型。
rangeVariable:是范围变量的名称。该变量将在循环迭代期间接收不同数组元素的值。在第一次循环迭代期间,它接收的是第一个元素的值;在第二次循环迭代期间,它接收的是第二个元素的值;以此类推。
array:是要让该循环进行处理的数组的名称。该循环将对数组中的每个元素迭代一次。
statement:是在每次循环迭代期间要执行的语句。要在循环中执行更多的语句,则可以使用一组大括号来包围多个语句。

//通过范围for打印数组中的值
int numbers[] = {3, 6, 9};
for(int val : numbers)
{
    cout << "The next value is ";
    cout << val << endl;
}

3、do while 语法

do 
	循环语句;
while(表达式);

循环至少执行一次,使用的场景有限,所以不是经常使用。
例子:打印 1 - 10

# include < stdio.h >
int main()
{
	int i = 10;
	do
	{
		printf("%d\n", i);
	}while(i < 10);
	return 0;
}

goto 语句 可以跳出多层循环。不介意使用。

发布了28 篇原创文章 · 获赞 72 · 访问量 1908

猜你喜欢

转载自blog.csdn.net/famur/article/details/104944116