分支、循环结构
顺序结构
C语言程序默认的执行流程,按照代码的先后顺序,从上到下依次执行
分支结构
if结构的三种格式
if第一种格式:单分支
if (关系表达式)
{
语句体;
}
执行流程:
(1)首先计算关系表达式的值
(2)如果关系表达式成立时就执行语句体
(3)如果关系表达式不成立就不执行语句体
(3)继续执行后面的其他语句
if第二种格式:双分支
if (关系表达式)
{
语句体1;
}
else
{
语句体2;
}
执行流程:
(1)首先计算关系表达式的值
(2)如果关系表达式的值为true就执行语句体1
(3)如果关系表达式的值为false就执行语句体2
(4)继续执行后面的其他语句
if第三种格式:多分支
if (关系表达式1)
{
语句体1;
}
else if(关系表达式2)
{
语句体2;
}
…..
else
{
语句体n;
}
执行流程:
(1)首先计算关系表达式1的值如果为true就执行语句体1;
(2)如果为false就计算关系表达式2的值如果为true就执行语句体2;
(3)如果为false就计算关系表达式3的值
(4)……
(5)如果所以关系表达式结果都为false,就执行语句体n+1。
switch分支结构
switch(表达式)
{
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式说明:
(1)表达式:必须是整型(将要匹配的值)。
(2)case:后面跟的是要和表达式进行比较的值 (被匹配的值)。
(3)break:表示中断,结束的意思,用来结束switch语句。
(4)default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
1 |
|
循环结构
for循环
for(初始化语句;条件判断语句;条件控制语句)
{
循环体语句;
}
执行流程:
(1)执行初始化语句
(2)执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,执行循环体语句
(3)执行条件控制语句
(4)回到(2)继续执行条件判断语句
while循环
初始化语句;
while(条件判断语句)
{
循环体语句;
}
1 | //自幂数:一个n位正整数,她的各位数字的n次方和等于它本身 |
do…while循环
初始化语句;
do
{
循环体语句;
} while(条件判断语句);
高级循环
无限循环(死循环)
循环一直停不下来。
1 |
|
跳转控制语句
continue
跳过本次循环,继续执行下次循环。
break
结束break所在的循环。提前终止循环了。
1 |
|





