概念
控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都有类似的概念。
以上内容来自百度百科流程控制。简单来说,流程控制就是控制程序的运行流程,以实现在不同的条件下执行不同的代码片段。
本节内容将讲述流程控制中的分支语句。
if
语句
在分支语句中,最常用的就是if
了。先看一段示例代码。
#include <stdio.h>
int main()
{
int a = 1;
if(a > 0)
{
printf("a > 0");
}
return 0;
}
上述代码在运行后将会打印出"a > 0"的字样。在这里if
后面紧跟的一对括号内填写判断的条件,当条件满足时将会运行紧跟if
之后的花括号内的代码片段,否则将不会执行。
else
语句
依然使用上边的代码,我们对代码做简单的修改,修改之后如下。
#include <stdio.h>
int main()
{
int a = 1;
if(a > 0)
{
printf("a > 0");
}
else
{
printf("a !> 0");
}
return 0;
}
else
语句应当紧跟在if
语句之后的花括号之后,同样的,它下面要执行的代码片段也应该被一对花括号包围。在这里,如果圆括号内的条件不成立,就会执行else
之后的代码块。
分支语句的嵌套
在if
语句中还可以继续嵌套更多的if
语句。例如如下代码。
#include <stdio.h>
int main()
{
//判断一个数字是不是既可以被2整除又可以被3整除
int a = 6;
if(a % 2 == 0)
{
if(a % 3 == 0)
{
printf("yes");
}
}
return 0;
}
同样的道理,我们也可以在else
代码块中嵌套新的if
语句
else if
语句
先看一段代码
#include <stdio.h>
int main()
{
//判断一个数字是否可以被2整除,如果不可以,判断是否可以被3整除
int a = 6;
if(a % 2 == 0)
{
printf("可以被2整除\n");
}
else if(a % 3 == 0)
{
printf("可以被3整除\n");
}
return 0;
}
switch
语句
switch
语句为多分支语句,请看如下示例代码。
#include <stdio.h>
int main()
{
int a = 6;
switch(a)
{
case 0: printf("a == 0\n"); break;
case 1: printf("a == 1\n"); break;
case 2: printf("a == 2\n"); break;
case 3: printf("a == 3\n"); break;
case 4: printf("a == 4\n"); break;
default: printf("A is some other value\n"); break;
}
return 0;
}
在switch
语句中,圆括号内只能填写整型变量或枚举类型(枚举类型将会再以后的内容中讲解)在之后的case
关键字之后,填写的值将会与圆括号中的值比较,如果相同则程序跳转到此处开始执行,如果均未能匹配则执行default
之后的代码。上述代码中的break
用来跳出当前语句块,关于break
的更多内容会在以后讲解。
可以尝试删除break
然后修改变量a的值看看有什么效果。