一、前言引入
C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言可以实现这三种结构。顺序结构最为简单,接下来我将介绍选择结构和循环结构。
二、选择结构
(一)二选一
1、if-else语句
if语句的语法形式如下:
if(表达式)
语句1;
else
语句2;
如果表达式成立,则执行语句1;表达式不成立,则执行语句2。
通常情况下,if只控制一个语句,如果要控制多个语句,则应用大括号{ }括起来。
(二)多选一
1、多个if语句
多个if语句形式如下:
if(表达式1) 语句1;
if(表达式2) 语句2;
......
if(表达式n) 语句n;
多个if语句,满足哪个表达式,则执行哪个语句。
2、if-else嵌套语句
if-else语句的语法形式如下:
if(表达式1)
语句1;
else
if(表达式2)
语句2;
else
语句3;
也可以写成以下这种形式:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
这种形式更为简洁,不过要注意,最后一个一定要为else语句,因为既然写的是if-else语句,if和else就像是一对,前面有了if,最后一定有个else语句与之配对。
注意:else总是跟与之最近的未配对的if匹配!
3、switch语句
switch语句是一种特殊形式的if-else嵌套语句,用于判断多种情况的语句。
switch(expression)
{
case value1:statement;
break;
case value2:statement;
break;
default:statement;
break;
}
根据表达式expression不同的值,进入对应case的分支。如果expression等于value1,则执行case value1中的statement。
注:
- switch 后的 expression 必须是整型表达式。
- case 后的值,必须是整型常量表达式。
- case 和后边的整型常量表达式之间必须有空格。
- break 用于跳出switch语句,如果有一个case语句中没有break语句,可能会进入其他的case语句并执行其中的代码,直到遇到break语句或switch语句结束。
- default 用于不满足任何一个case语句的情况。
- 在switch语句中,case语句和default语句都没有顺序要求。不过我们通常把default语句放在最后处理。
三、循环结构
1、while循环
while(表达式)
语句;//如果循环体想包含更多的语句,可以加上大括号
与if语句很类似,表达式成立,则执行语句。
2、for循环
for(表达式1;表达式2;表达式3)
语句;//如果循环体想包含更多的语句,可以加上大括号
表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
注意:三个表达式之间应该用分号连接,而不是逗号。
for循环的执行流程:
首先执行表达式1初始化循环变量,接下来就执行表达式2的条件判断,若满足表达式2条件,则执行循环体中的语句,执行完后,循环变量执行表达式3,调整循环变量,然后跳到表达式2,继续判断是否满足循环条件。若满足,则执行循环体中的语句;若不满足,则退出该for循环。
3、do-while循环
do
{
语句;}while(表达式);
while和for这两种循环都是先判断循环条件,满足条件才执行语句;而do-while循环是先直接“do”,即直接进入循环体,执行循环语句,然后再判断while后的表达式,满足表达式则进入下一次循环,不满足则循环结束。
所以,do-while循环中的语句是至少执行一次的,这点与其他循环有很大不同。
简单介绍到这里,还有很多有关分支和循环的知识没讲,但希望能带你先搭建起一个总体框架,先入门,后深入!