unit3 结构化程序设计
注:本文参考中国铁道出版社《C语言程序设计(第三版)》书写
主要用于记录学习中的重点要点,欢迎指出错误
同时也欢迎交流学习~
3.1 基本语句
C语言中主要的基本语句:表达式语句、空语句、goto语句、break语句、continue语句、return语句等等
所有语句都以分号为结束符
都比较基础,不多赘述
3.2 顺序结构
总而言之就是按顺序执行
值得延伸的理解方式是复合语句
可以将其看作单个语句,常被用作其他控制结构的成分语句
3.3 选择结构
3.3.1 两路条件选择结构
if-else
基础中的基础,不多赘述
主要需要了解一些简写方式,和常用结构书写方式
3.3.2 多路按值选择结构
需要了解的但可能不是非常常用的switch
语句
常用于if
语句书写层次过深时改写为更简洁的形式
switch
语句包含一个表达式,用该按表达式的值做选择
另外就是一系列的case
开头的子句
此外不一定需要的是default
开头的子句
一般形式为:
switch(表达式)
{
case 常量表达式1 : 语句序列1
case 常量表达式2 : 语句序列2
...
case 常量表达式n : 语句序列n
default : 语句序列n+1
}
执行过程:
先计算表达式的值,然后将其与case
之后的常量表达式进行比较,已选择执行的入口
有三种可能:
- 表达式的值等于某个常量表达式的值,从其表达式之后的语句序列的第一个语句开始执行。途中不会理会
case
和常量表达式。如果遇到break
或goto
语句,或者已经将switch
语句中语句序列执行完毕,则结束switch
语句的执行 - 没有匹配的常量表示,有
default
语句则从其之后的语句序列开始执行;若没有,则switch
此次执行立即结束
正确编写switch
语句需要注意的点:
switch
后面括号内表达式类型局限于 整形 字符型 and 枚举型- 所有
case
后的常量表达式的值应该互不相同,且与switch
后面括号内的表达式类型一直 - 语句序列可以由任意条合法C语句构成(也可以没有语句)
- `default·子句可以省略,不过最多只能出现一次,一般写在最后
3.4 循环结构
3.4.1 while循环结构
也称为 当型循环
由 一个循环条件 and 循环体语句 组成
比较简单,不多赘述
3.4.2 do…while循环结构
同样由 一个循环条件 and 一个循环体语句 组成
意义:
重复执行循环体语句,知道条件不再成立
也就是说总是会先执行一次之后,在判定条件是否成立
3.4.3 for循环结构
一般结构:
for(表达式1;表达式2;表达式3) 语句
执行过程:
- 计算表达式1
- 计算并测试表达式2,值非0则转到步骤3,否则直接结束
- 执行循环体语句
- 计算表达式3
- 重新返回到步骤2
注意点:
- 使用
for
语句时,三个表达式都可以省略 - 三个表达式都可以包含逗号运算符