目录
1.流程控制
流程控制
在 C 语言中,流程控制是程序执行过程中确定代码块的执行顺序和条件的技术。流程控制通常包括以下几个部分:
-
顺序结构: C 程序中最基本的执行方式,代码逐条执行,从上到下。
-
选择结构: 根据条件判断决定程序的分支执行路径,主要包括
if
、if-else
和switch
语句。if
语句: 当条件成立时执行某一代码块。if-else
语句: 当条件成立时执行某一代码块,不成立时执行另一代码块。switch
语句: 根据不同的整数值,执行不同的代码块。
-
循环结构: 在满足一定条件下反复执行代码块,主要包括
for
、while
和do-while
循环。for
循环: 当计数器满足条件时,重复执行代码块。while
循环: 当条件为真时,重复执行代码块。do-while
循环: 至少执行一次代码块,然后当条件为真时,重复执行。
关系运算符和逻辑运算符:
关系运算符
==
: 等于!=
: 不等于>
: 大于<
: 小于>=
: 大于等于<=
: 小于等于
逻辑运算符
&&
: 逻辑与||
: 逻辑或!
: 逻辑非
注意:注意运算符之间的优先顺序,从高到低如下:
!==> 算术运算符==>关系运算符==> &&和||==> 赋值运算符
2.goto语句
goto语句
goto + 关键字==>跳转到对应关键字处
具体实现代码如下:
当执行到第十三行时会跳转到 loop标签位第六行重新往下执行,一般比较少用goto语句,有些公司也禁止用goto语句,c语言作为模块化语音,goto语句很容易跳转,可能会破坏c语言的结构,当然也有它自己的作用,当多层while循环嵌套时,达到满足条件时可用goto语句直接一次跳出三重循环(一次break只能跳出一层循环)。
3.if ()else()判断语句
if()else()语句
用法如下:输入一个月份,输出该月份的天数,并要考虑润年。
一个else只对应一个if,多个if,else混在一起,先找最里面的else,从它上面开始找离它最近的if,ji是对应匹配的。
4.switch() case语句
switch case语句
用法如下:
switch (expression) {
case constant1:
// 当 expression 的值等于 constant1 时执行的代码
break;
case constant2:
// 当 expression 的值等于 constant2 时执行的代码
break;
// 可以有多个 case 语句
default:
// 当 expression 的值没有匹配任何 case 时执行的代码
}
解释:
expression
: 要求是一个整型表达式(如int
或char
),其值用于与case
标签进行比较。case constant1
: 如果expression
的值等于constant1
,则执行对应的代码块。break
: 结束switch
语句的执行,跳出switch
结构。若省略break
,会继续执行下一个case
语句(即“fall-through”行为)。default
: 可选项。如果没有匹配任何case
标签,执行default
部分的代码。
注意事项
-
expression
必须是整型或可转换为整型的表达式:switch
语句中的expression
通常是int
类型,也可以是char
类型,但不能是浮点数或其他非整型数据类型。 -
case
标签的值必须是常量:每个case
标签的值必须是编译时已知的常量,不能是变量或运行时计算的值。 -
break
语句:如果省略break
,程序会继续执行下一个case
代码块,直到遇到break
或switch
结束。这种行为称为“fall-through”。有时这种行为是故意的,但如果不小心使用,可能会导致难以发现的错误。 -
default
部分是可选的:如果所有case
标签都不匹配,且default
不存在,switch
语句将不会执行任何代码。 -
case
标签的值必须唯一:每个case
标签的常量值必须唯一,否则编译器会报错。 -
case
标签的顺序:case
标签的顺序可以任意,但通常建议按照逻辑顺序排列,以提高代码的可读性。 -
case、default的实际意义为标签(lable),如果default打错,执行也不报错,只是标签不匹配。
通过合理使用 switch
语句,可以使代码更简洁、更具可读性,特别是当涉及多个条件分支时。
`