目录
摘要
语言:C语言
内容:分支和循环的基本语法形式、逻辑流程、注意与说明
说明:本文无例子、文章倾向于笔记
前言
众所周知,逻辑结构由三部分构成:顺序结构、选择结构、循环结构。
在C语言中,后两者分别对应分支、循环。
分支
if 语句
一、if...
一般语法形式
if ( 表达式 )
语句;
逻辑流程图
二、if...else...
一般语法形式
if ( 表达式 )
语句1;
else
语句2;
逻辑流程图
三、注意与说明
每个 if 和 else 语句后只能控制⼀条语句,多个语句必须使用 { }进行分隔
建议:无论多少语句都统一使用 { } ,养成习惯。
四、嵌套if
一般语法形式
if ( 表达式1 )
语句1;
else if ( 表达式2 )
语句2;
......
else if ( 表达式n )
语句n;
else
语句n+1;
说明
表达式为if...else...或if...
逻辑流程图
五、悬空else问题
规则
else 总是跟最接近的一个 if 匹配结合为一个if...else...语句
解决方法
使用 { } ,按逻辑需求进行分隔。
switch 语句
一、注意与说明
- switch 语句是⼀种特殊形式(形式不同,逻辑相同)的 嵌套if 结构;作用:简化代码,使逻辑直观清晰。
- switch 后的表达式必须是整型表达式;case 后的值必须是整形常量表达式。
- case 和后边的值之间必须要有空格。
- case 语句和 default 语句是没有顺序要求的,通常是把 default 语句放在最后。
- 如果要实现真正的分支效果,每⼀个 case 语句后,应当加上 break 语句。
原因:只有在 switch 语句中使用 break , 才能跳出 switch 语句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执⾏其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。
-
break 也不是每个 case 语句都得有,应当根据实际情况来决定某个 case 语句后 break 的有无。
二、一般语法形式
switch(表达式)
{
case 值1:
语句1;
break;
case 值2:
语句2;
break;
......
case 值n:
语句n;
break;
default:
语句n+1;
break;
}
三、逻辑流程图
循环
for 语句
一、注意与说明
- for 语句是三种循环语句中最常用的语句。
原因:for 循环的初始化、判断、调整三个部分比 while 循环(do while循环)更集中,便于代码的维护。 -
表达式1:用于循环变量的初始化表达式2:用于循环结束条件的判断表达式3:用于循环变量的调整
-
先判断后执行
二、一般语法形式
for(表达式1; 表达式2; 表达式3)
语句;//多个语句用{ }
三、逻辑流程图
while 语句
一、注意与说明
- 先判断后执行
二、一般语法形式
while(表达式)
语句;//多个语句用{ }
三、逻辑流程图
do-while 语句
一、注意与说明
- 循环语句在 do-while 语句中循环体是至少执行⼀次的,这是 do while 循环⽐较特殊的地⽅。
- 先执行(一次)再判断
二、一般语法形式
do
{
语句;
}while(表达式)
三、逻辑流程图
循环的嵌套
三种循环语句都可以进行嵌套,以解决更复杂的问题。
嵌套的使用可以参照本文“ 分支-if语句-嵌套if ”
流程的转移控制
goto语句
goto的作用是在同⼀个函数内,直接使程序跳转到 该语句标号所标识的语句。
一般语法形式:
goto 语句标号;
......
语句标号:......
语句标号:......
......
goto 语句标号;
break语句
break
的作⽤是⽤于永久的终⽌循环,只要
break
被执行,直接就会跳出 包含break语句的循环(只能跳出一层循环),继续往后执行。
contiune语句
continue
的作用是跳过本次循环
continue
后边的代码,在
for
循环和
while 循环(do while循环)中有所差异的。
for循环中的break和continue
一、注意与说明
在 for 循环中 continue 的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分
二、逻辑流程图
while循环中的break和continue
一、注意与说明
在 while 循环中 continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断;如果循环的调整是在 continue 后边的话,可能会造成死循环。
二、逻辑流程图
do while循环中的break和continue
一、注意与说明
dowhile
语句中的
break
和
continue
的作⽤和
while
循环中⼏乎⼀模⼀样