第二周 循环结构与选择分支结构

一.循环结构

1.使用循环结构可以多次重复的执行多条语句,这里的多条语句称为循环体,C语言中有三种循环结构
(1)while循环
只要控制表达式为 true,while 循环就会反复地执行语句:

while(表达式)
{
    
    
	语句
}

while 表达式是顶部驱动(top-driven)的循环:先计算循环条件(也就是控制表达式)。如果为 true,就执行循环体,然后再次计算控制表达式。如果控制表达式为 false,程序跳过循环体,而去执行循环体后面的语句。
(2)for循环
和 while 一样,for 循环也是一个顶部驱动的循环,但是它包含了更多的循环逻辑,如下所示:

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

在一个典型的 for 循环中,在循环体顶部,下述三个动作需要执行:
a. 表达式 1:初始化
只计算一次。在计算控制表达式之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。
b.表达式 2:控制表达式
每轮循环前都要计算控制表达式,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。
c.表达式 3:调节器
调节器(例如计数器自增)在每轮循环结束后且表达式 2 计算前执行。即,在运行了调节器后,执行表达式 2,以进行判断。
for 循环头部中的三个表达式可以省略一个或多个。

(3)do…while循环
do…while 循环是一种底部驱动的循环:

do
{
    
    
	语句
}while(表达式);

在控制表达式被第一次计算之前,循环体语句会首先被执行一次。与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。

二.条件分支结构

1.条件分支结构
(1) if结构
a.单重if结构:先判断后执行

if(条件为真)
{
    
    
	//代码块1
}
else
{
    
    
	//代码块2
}

b.多重if结构:常用来进行区间判断

if(条件1)
{
    
    
	//代码块1
}
else if(条件2)
{
    
    
	//代码块2
}
else
{
    
    
	//代码块3
}

(2)switch结构

1.switch(表达式)
{
    
    
	case 常量1:
	语句1;
	break; //跳出整个switch结构
	case 常量 2:
	语句2;
	break;default:
	语句;
}

2.注意点

(1)switch后的表达式只能是整型或字符型。

(2)case后常量表达式的值不能相同。即case1,case2的1、2不能取一个数。

(3)case后允许多条语句,不需要大括号。即可写多个printf语句。

(4)如果不添加break语句,需要特别注意执行顺序。即会输出该条及之后的所有语句,直到碰到break。

(5)case和default子句的先后顺序可以自动变动。

(6)default子句可以省略。

3.switch和多重if的对比

(1)相同点:
都是用来处理多分支条件的结构。
(2)不同点:
a. switch:等值条件判断-条件是有限个的时候。
b.多重if:判断某个连续区间时的情况。

猜你喜欢

转载自blog.csdn.net/qq_45811966/article/details/104087654