结构化程序设计里有三种程序结构,分别是顺序结构,分支结构,循环结构。goto语句不属于结构化程序设计范畴,但在某些情况也会使用。
指代码从前往后,从上往下顺序执行,之前遇到的所有程序都是顺序结构。
指代码会根据不同的条件来选择不同的分支执行,C语言支持if语句和switch...case语句的分支结构。
也称为判断语句,一共有下面三种形式:
|
if语句可以嵌套,也就是在一个if语句的语句块中再嵌套一个if语句。
使用if语句的注意事项:
如果if语句的某个语句块只有一条语句,那么可以省略这个语句块的大括号,如下:
if(a > b) printf("a > b"); else printf("a <= b"); |
if语句的判断条件,只要计算出来的结果是非0,那么条件就成立。计算的方式可以是函数调用或是任何运算符所构成的表达式,像下方式都是合理的:
if(0) { ... } if(1) { ... } if(a = 3} { ... } if(a == 3) { ... } if(scanf("%d %d %d", &a, &b, &c)) { ... } |
switch(表达式1) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; ... case 常量表达式n: 语句n; break; default: 默认语句; break; } |
使用switch语句的注意事项:
理论上,使用switch的语句都可以用if语句来改写,但是,在纯粹进行数字或字符比较且比较的分支较多时,使用switch语句的代码逻辑性和可读性都要优于if语句,自行体会。