程序流程结构
基本流程结构
结构分类 | 描述 |
---|---|
顺序结构 | 按照顺序依次执行某段代码 |
选择结构 | 有选择的执行某段代码 |
循环结构 | 重复执行某段代码 |
顺序结构
int a = 1;
a++;
printf("%d\n",a);
代码会按照顺序先创建变量a并初始化为1
执行自增运算
输出的值便是2
选择结构
int a = 1;
if(a<3)
{
a = 2;
}
else
{
a = 0;
}
printf("%d\n",a);
程序首先按照顺序依次执行
当执行到if语句时,判断条件a小于3
则执行a = 2;的语句,否则执行a = 0;的语句
输出a的值为2
循环结构
- while循环
int a = 4;
while(a)
{
a--;
}
printf("%d\n",a);
程序循环执行while体中的代码
如果条件为真即非0,则重复执行
直至a = 0时,条件判断为假,停止执行循环
继续按照顺序结构向下执行,输出a的值为0
- for循环
int a = 0;
int b = 1;
for(a = 0;a<4;a++)
{
b++;
}
printf("%d\n",b);
程序循环执行for语句中的代码
for语句参数 | 意义 |
---|---|
a = 0 | 初始化a的值为0 |
a<4 | 循环的条件是a小于4 |
a++ | 每循环一次后执行的语句即a自增 |
所以,以上for循环程序共执行了四次
输出b的值为5
跳转语句
- 全部跳出(break)
当程序执行到break语句后,会跳出循环体
int a = 4;
while(a)
{
if(a>2)
a--;
else
break;
}
printf("%d\n",a);
当程序执行到a=2时,此时程序执行了两变
if中的条件为假执行else语句,而else会直接退出循环体
输出a的值就是(4-1-1)=2
- 跳出本次continue
int a = 4;
while(a)
{
if(a!=2)
a--;
else
a = 1;
continue;
}
printf("%d\n",a);
当程序执行到a=2时,此时程序也是执行了两变
if中的条件为假执行else语句
else语句中会将a的值设为1,然后跳过本次循环进入下一次循环
继续执行a–,输出a的值为0
- goto语句
知识为了使知识结构完整,不做介绍
(goto语句会破会程序的结构化设计,不建议使用)