1.什么叫流程控制?
程序代码执行的顺序
2.流程控制的分类
顺序、选择、循环
选择(定义:某些代码可能执行,也可能不执行,有选择性的执行某些代码)
if语句
1.格式:
if(表达式)
语句
功能:如果表达式为真,执行语句
如果表达式为假,不执行语句
2.if的范围问题:
1.
if(表达式)
语句A;
语句B;
例子:#include <stdio.h>
void main()
{
if(2>3)
printf("AAA\n");
printf("bbb\n");
}
/*
输出结果是:bbb
*/
解释:if默认只能语句A的执行或不执行,不能控制语句B执行或不执行。
2.
if(表达式)
{
语句A;
语句B;
}
解释:此时,if可以控制语句A跟语句B。
3.if else
格式:if(表达式)
语句A;
else
语句B;
4.if...else if...else
格式:
if(1)
语句A;
else if(2)
语句B;
else if(3)
语句C;
.
.
.
else
语句N;
循环
for 语句:
for与if的嵌套使用:
#include <stdio.h>
void main()
{
int i,sum=0;
for(① i=0; ② i<=10; ③ i++)
{
④ if(i%3==0)
⑤ sum=sum+i;
}
printf("sum=%d\n",sum);
}
/*
输出结果是:sum=18
*/
注意:语句的执行顺序是:①②④⑤③,
若代码如下:
#include <stdio.h>
void main()
{
int i,sum=0;
for(① i=0; ② i<=10; ③ i++)
{
④ if(i%3==0)
⑤ sum=sum+i;
⑥ printf("sum=%d\n",sum);
}
}
/*
输出结果是:
sum=0
sum=0
sum=0
sum=3
sum=3
sum=3
sum=9
sum=9
sum=9
sum=18
sum=18
*/
代码执行的顺序是:①②④⑤⑥③,其中当语句④条件不符合时,会连续输出语句⑥
for的格式:
执行流程
单个for 循环:
for(1;2;3;)
语句A; (执行顺序:1>2>语句A>3>2>语句A>3>2[若不成立]则跳出循环)
多个for循环的嵌套使用:
for (1;2;3;)
for(4;5;6;)
语句A;
(执行顺序:1>2>4>5语句A>6>5>语句A>6>5(若不成立)>3>2[若成立则>4>5>语句A>6/若不成立则跳出循环])