龙空技术网

C语言里面的分支与跳转语句

xue婷 443

前言:

当前我们对“c语言分支”都比较关注,各位老铁们都想要剖析一些“c语言分支”的相关文章。那么小编也在网摘上收集了一些关于“c语言分支””的相关资讯,希望大家能喜欢,姐妹们一起来学习一下吧!

一、if语句

形式1:

if (逻辑表达式)

执行语句

如果逻辑表达式为真,则执行执行语句

形式2:

if (逻辑表达式)

执行语句1

else

执行语句2

如果逻辑表示是为真则执行执行语句1,否则执行执行语句2

形式3:

if (逻辑表达式1)

执行语句1

else if (逻辑表达式2)

执行语句2

else

执行语句3

如果逻辑表达式1为真,则自行执行语句1,如果逻辑表达式1为假而逻辑表达式2为真,则执行执行语句2,否则,如果两个表达式都为假,执行执行语句3

关于if语句形式2分析:

规则是如果没有花括号致命,else与和它最近的一个if相匹配。如果希望在if和else之间有多条语句,必须使用花括号创建一个代码块。下面的结构违反了C语法,因为编译器期望if和else之间只有一条语句。

加群466572167,可以交流学习

编译器会把printf()语句看作if语句的部分,将x++语句看作一条单独的语句,而不把它作为if语句的一部分。然后会认为else没有所属的if,这是个错误,应该使用花括号。或者参看do while (0)语句。

加群466572167,可以交流学习

判断条件通常是一个关系表达式,也就是用一个关系运算符构成的表达式,例如:< 或者 ==。利用C的逻辑运算符,可以作何多个关系表达式以创建更复杂的判断。

需要注意的几点:

1、赋值运算符和逻辑运算符

例如:

if (5 = n) 语法错误

if (5 == n) 检查n的值是否为5

2、 if(n != 0)可用if (n)代替

3、if (n >= 9 && n <= 100) 不要写成 if (90 <= n <= 100)

问题在于该代码是语义错误,我不是语法错误,因为对于<=运算符的求值顺序是由左到右的,所以会把该测试表达式解释为如下形式:

(90 <= n) <= 100

子表达式90 <= n的值为1(真)或0(假)。任何一个值都小于100,因此不管n的值是什么,整个表达式总是为真,所以需要使用&&来检查范围。

例如: if (5 > 2 > 3) 布尔值为0(假).

注意: 零值表示“假”,非零值表示“真”,负数也是非零值。

加群466572167,可以交流学习

二、循环辅助手段:continue和break

1、continue语句

continue命令可以与三种循环形式中的任何一种一起作用,但是不能喝switch语句一起使用。他导致程序控制跳过循环中的剩余语句。对于while和for循环,开始下一个循环周期。对于do while循环,对退出条件进行判断,如果必要,开始下一个循环周期。

用处:可以在主语语句中消除一级缩排。当语句很长或者已经有很深的嵌套时,作为占位符,使代码根据可读性:

while (getchar () != '\n')

continue;

2、break语句 可以加小编的群466572167,交流学习

循环中的break语句导致程序终止包含它的循环,并进行程序的下一阶段。break命令可以与三种循环形式中的任何一种以及switch语句一起使用。它导致程序控制跳过包含它的循环或switch语句的剩余部分,继续执行紧跟在循环或switch后的下一条命令。

break语句实质上是switch语句的附属物,顺便提一下,break语句用于循环和switch中,而continue仅用于循环。

例如:在if语句中使用continue会出现: 错误:continue语句出现在循环以外。

三、多重选择:switch和break

以上面的例子来说明switch语句:可以加小编的群466572167,交流学习

如果i为整形值1或者2,则打印22222。如果它的值为3,则打印33333和44444(因为杂case 3后没有break语句,所以流程继续到随后的语句),如果它的值为4,则打印44444,。对于其他值,仅打印hello world

加群466572167,可以交流学习

加群466572167,可以交流学习

总体注解:

程序控制按照逻辑表达式的值跳转到相应的case标签处。然后程序流程继续通过所有剩余的语句,直达再次由break语句重定向。逻辑表达式和case标签必须都是整型值(包括类型char),并且标签必须是常量或者完全有常量组成的表达式。如果没有表达式值相匹配的case标签,那么控制定位到标签为default的语句,如果它存在的话。否则,控制传递给紧跟着switch语句的下一条语句。

每个 switch 语句中只能出现一条 default 子句。但是,它可以出现在语句列表的任何位置,而且语句流会像贯穿一个 case 标签一样贯穿 default 子句。可以加小编的群466572167,交流学习,群里面也有各类型的学习资料可以学习的。

四、goto语句

不要轻易使用

可以了解一下:

while(1)、for( ; ; )、goto这三者可作为死循环

标签: #c语言分支