C语言分支与循环语句

这篇文章简单总结一下C语言的分支和循环,分支结构可以用if、switch语句实现,循环语句可以用while、for、以及do-while语句实现,重点解说这四种语句。

一、C语言分支

1.if语句

if语句的基本结构为:

if (条件表达式)
	执行语句;
else
	执行语句;

其中,条件表达式,可能会有多种条件,这时候会使用到关系操作符和逻辑操作符。

  • 关系操作符
    • ">"⼤于运算符
    • “<” ⼩于运算符
    • " >= "⼤于等于运算符
    • " <= "⼩于等于运算符
    • " == " 相等运算符
    • " != "不相等运算符
  • 逻辑操作符(&&,||,!)
    • && :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
    • || :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)
    • ! :逻辑取反运算符(改变单个表达式的真假)

C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。

2.Switch语句

除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。

switch 语句是⼀种特殊形式的if…else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。

switch (expression) {
	case value1: statement
 	case value2: statement
 	default: statement
}

上⾯代码中,根据表达式 expression 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,就执⾏ default 分⽀。

注:

  • switch 后的 expression 必须是整型表达式
  • case 后的值,必须是整形常量表达式
  • 在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实际需求的就可以。不过我们通常是把 default ⼦句放在最后处理的。

二、循环语句

1.while循环

while(表达式)
 语句;

C语言分支与循环语句_第1张图片

2.for循环

for(表达式1; 表达式2; 表达式3)
	执行语句;

表达式1:⽤于循环变量的初始化
表达式2:⽤于循环结束条件的判断
表达式3:⽤于循环变量的调整
C语言分支与循环语句_第2张图片
整个循环的过程中,表达式1初始化部分只被执⾏1次,剩下的就是表达式2、循环语句、表达式3在循环。

3.do-while循环

do
	语句;
while(表达式);
  • while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;
  • ⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
    C语言分支与循环语句_第3张图片
    在 do while 循环中先执行图上的“语句”,执行完语句,在去执行“判断表达式”,判断表达式的结果是!=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。
    所以在 do while 语句中循环体是至少执行⼀次的,这是 do while 循环⽐较特殊的地方。

4.break和continue语句

在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中提供了 break 和 continue 两个关键字,就是应该到循环中的。

  • break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执⾏。

  • continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

break:

break 的作⽤就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了。那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤ break 来完成我们想要的效果。

continue:

  • 在while和do-while循环中,continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成死循环。
  • 在 for 循环中,continue 的作⽤是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤continue 来实现。

5.goto语句

C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出使⽤ goto 就⾮常的⽅便了。

你可能感兴趣的:(cpp,c语言)