快捷搜索:  汽车  科技

c语言循环正确方法(C语言系列2分支和循环)

c语言循环正确方法(C语言系列2分支和循环)else在匹配if时,匹配的是离它最近的if,所以下面的代码中,在阅读上感觉要输出“haha”,但是实际什么都不输出,因为下面的else是和内层的if匹配,它连第一个判断都没有进去第一:悬空if第二:双分支第三:多分支第二点:关于if语句的其他补充

第二章:分支与循环(1)什么是语句

C语言是一门结构化程序设计语言:顺序结构,选择结构,循环结构

C语言中“;”隔开的就是一条语句。

c语言循环正确方法(C语言系列2分支和循环)(1)

(2)分支语句A:if语句

第一点:if语句的基本结构

第一:单分支

c语言循环正确方法(C语言系列2分支和循环)(2)

第二:双分支

c语言循环正确方法(C语言系列2分支和循环)(3)

第三:多分支

c语言循环正确方法(C语言系列2分支和循环)(4)

第二点:关于if语句的其他补充

第一:悬空if

else在匹配if时,匹配的是离它最近的if,所以下面的代码中,在阅读上感觉要输出“haha”,但是实际什么都不输出,因为下面的else是和内层的if匹配,它连第一个判断都没有进去

c语言循环正确方法(C语言系列2分支和循环)(5)

所以代码风格一定要清晰,不能人为的产生歧义

c语言循环正确方法(C语言系列2分支和循环)(6)

第二:请再不要把赋值运算符和比较运算符搞混了

c语言循环正确方法(C语言系列2分支和循环)(7)

所以为了防止这样的低级错误,可以反着写

c语言循环正确方法(C语言系列2分支和循环)(8)

if语句练习

1:判断一个数是否为奇数

c语言循环正确方法(C语言系列2分支和循环)(9)

B:switch语句

第一点:switch语句的基本结构

c语言循环正确方法(C语言系列2分支和循环)(10)

第二点:关于switch的一些说明

第一:switch后面是整形,case后面必须是整形或整形表达式

第二:case后面不是任何时候都加break语句。比如下列情形:要求输入1 2 3 4 5,中任意一个数字,则输出工作日,6和7则输出休息日。

c语言循环正确方法(C语言系列2分支和循环)(11)

第三点:关于default的说明啊

第一:default和case的顺序无关,但建议放在后面

c语言循环正确方法(C语言系列2分支和循环)(12)

第二:计算需求中没有用default的地方,良好的代码风格也应该加上它

c语言循环正确方法(C语言系列2分支和循环)(13)

switch语句练习

如下图这段代码,很好地体现了switch的执行过程

c语言循环正确方法(C语言系列2分支和循环)(14)

接下来,逐过程运行代码

c语言循环正确方法(C语言系列2分支和循环)(15)

c语言循环正确方法(C语言系列2分支和循环)(16)

c语言循环正确方法(C语言系列2分支和循环)(17)

c语言循环正确方法(C语言系列2分支和循环)(18)

c语言循环正确方法(C语言系列2分支和循环)(19)

c语言循环正确方法(C语言系列2分支和循环)(20)

(3)分支语句A:while

第一点:while循环基本结构

c语言循环正确方法(C语言系列2分支和循环)(21)

第二点:while循环逻辑图

c语言循环正确方法(C语言系列2分支和循环)(22)

第三点:关于break和continue

break是用来跳出当前循环

c语言循环正确方法(C语言系列2分支和循环)(23)

continue意思是简单点理解就是跳过循环变量的等于某个值得,直接进行判断。

c语言循环正确方法(C语言系列2分支和循环)(24)

c语言循环正确方法(C语言系列2分支和循环)(25)

第四点:经典例子while

第一:利用while读走缓冲区字符,使getcha接收到键盘上所输入的字符

c语言循环正确方法(C语言系列2分支和循环)(26)

(注意,上述操作结束时要按"ctrl z")

上面的实例究竟有什么用呢:如下要输入一个输入密码的程序,问题在于程序为什么不再getchar处等我们输入Y或N后再进行判断,而是直接跳过了这一步骤

c语言循环正确方法(C语言系列2分支和循环)(27)

c语言循环正确方法(C语言系列2分支和循环)(28)

c语言循环正确方法(C语言系列2分支和循环)(29)

那么解决方法很显而易见,只要在getchar读输入缓冲区前,把里面的换行符读走即可

当然上述的解决方法还是有限制的,只适用于某些特殊情况。所以完美的解决方式就是用本实例所要说明的while循环

c语言循环正确方法(C语言系列2分支和循环)(30)

第二:只接受数字打印,非数字不打印

c语言循环正确方法(C语言系列2分支和循环)(31)

B:for循环

c语言循环正确方法(C语言系列2分支和循环)(32)

第一点:for循环的基本结构

第二点:for循环逻辑图

表达式1只会被执行1次

c语言循环正确方法(C语言系列2分支和循环)(33)

第三点:break和continue在for循环中的使用

break和continue使用基本一致

c语言循环正确方法(C语言系列2分支和循环)(34)

c语言循环正确方法(C语言系列2分支和循环)(35)

第四点:关于for循环的注意事项

第一:不要在for循环体内改变循环变量

c语言循环正确方法(C语言系列2分支和循环)(36)

第二:建议for循环控制变量的取值采用“前闭后开”写法

c语言循环正确方法(C语言系列2分支和循环)(37)

第三:for循环的初始化,调整,判断都可以省略,其中判断省略后条件恒为真(虽然各部分可以省略,但每一个部分都有存在的意义,所以随意省略可能导致意想不到的错误)

比如,下面省略了for循环的初始化

c语言循环正确方法(C语言系列2分支和循环)(38)

第四:for循环允许多个循环变量

c语言循环正确方法(C语言系列2分支和循环)(39)

一道经典的笔试题

c语言循环正确方法(C语言系列2分支和循环)(40)

C:do while循环

第一点:do while循环的基本结构

c语言循环正确方法(C语言系列2分支和循环)(41)

第二点:do while循环的逻辑结构

c语言循环正确方法(C语言系列2分支和循环)(42)

第三点:do while中的break和continue

do while中continue仍然会导致死循环

c语言循环正确方法(C语言系列2分支和循环)(43)

c语言循环正确方法(C语言系列2分支和循环)(44)

(4)goto语句A:goto语句说明

C语言中提供了可以随意滥用的goto语句额标记跳转的符号,从理论上来说goto语句是没有必要的,但是在某些特定场合下也会使用到goto语句,最常见的就是处理某些深度嵌套的语句,使用goto语句可以一次跳出多个循环,而在这样的情况下使用break'是达不到,因为break只能跳出一层。

如下:可以使用go循环打印

c语言循环正确方法(C语言系列2分支和循环)(45)

c语言循环正确方法(C语言系列2分支和循环)(46)

由以上可以看出,使用goto语句可以使程序随意跳转,也就极易造成代码逻辑混乱

B:goto 语句适合的场景

特别适合这种深层次嵌套

c语言循环正确方法(C语言系列2分支和循环)(47)

(5):本节练习与作业

循环与分支经典练习题如下

c语言循环正确方法(C语言系列2分支和循环)(48)

(6):本节实战项目:猜数字游戏

特别注意

1:C语言随机数的生成方式

2:时间戳相关概念

3:rand,srand函数

猜您喜欢: