C语言的分支和循环语句(自我总结)

C语言是一门结构化的程序设计语言。

它支持三种结构:

顺序结构

选择结构:if  switch

循环结构:for  while  do...while

我们可以使⽤ if 、 switch 实现分⽀结构,使⽤ for 、 while 、 do while 实现循环结构。

一. if语句

if 语句语法形式为: if ( 表达式 ) 后接语句 。表达式成⽴(为真),则语句执⾏;表达式不成⽴(为假),则语句不执⾏。

在C语⾔中,0为假,⾮0为真,也就是表达式的结果如果是0,则语句不执⾏;表达式的结果如果是不是0,则语句执⾏。

else  if  表分支中可包含多条语句

如:输入一个人的年龄。如果年龄<18岁,打印"少年";如果年龄在18岁至44岁打印"青年";如果年龄在45岁至59岁打印"中老年";如果年龄在60岁至89岁打印"老年";如果90岁以上打印"老寿星"

C语言的分支和循环语句(自我总结)_第1张图片

注意:悬空 else 的问题,如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近 的 if 匹配。

二.关系操作符

C语言中,关系操作符主要有以下六种:

> ⼤于运算符

< ⼩于运算符 

>= ⼤于等于运算符

 <= ⼩于等于运算符

 == 相等运算符

 != 不相等运算符

注意:相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。

三.逻辑操作符:&& , || , !

&& :与运算符,表并且(两侧的表达式都为真,则为真,否则为假)---->一假则假,全真则真

|| :或运算符,表或者(两侧⾄少有⼀个表达式为真,则为真,否则为假)---->一真则真,全假则假

! :逻辑取反运算符(改变单个表达式的真假)

注:C语⾔中,⾮0表⽰真,0表⽰假

那在这里就会出现一种情况叫“短路”(仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进⾏计算的运算)

C语言的分支和循环语句(自我总结)_第2张图片

最终输出:a=1,b=2,c=3,d=4 。上面程序在a++处就短路了,应为a为0则假,由此判断整个为假

四.switch语句 

除了 if 语句外,C语⾔还用 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 if  else 结构。它把多重 的 else if 改成更易⽤、可读性更好的case形式。switch语句中根据表达式不同的值,执⾏相应的 case 分⽀。相反找不到对应的值, 就执⾏ default 分⽀。

注: switch 后的 expression 必须是整型表达式; case 后的值,必须是整形常量表达式。字符亦可

如: 输入1 - 5,输出的是“工作日”;输入6 - 7,输出“休息日”

C语言的分支和循环语句(自我总结)_第3张图片

五.while循环语句

C语⾔提供了3种循环语句:for,  while,  do...while  

while 就是其中⼀种,while 语句的语法结构和 if 语句⾮常相似,但while可以实现循环效果。

如:用while语句,在屏幕上输出1~10的数字

C语言的分支和循环语句(自我总结)_第4张图片

六.for循环语句

for 循环是三种循环中使⽤最多的!

其语法形式为:for(表达式1; 表达式2; 表达式3) 后接语句

表达式1: ⽤于循环变量的初始化

表达式2 :⽤于循环结束条件的判断

表达式3: ⽤于循环变量的调整

其就是把初始化,判断 ,调整,三个部分放在一起

如:计算1~100之间,3的倍数的和

C语言的分支和循环语句(自我总结)_第5张图片

七.do-while 循环语句

while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳 出循环。(先判断,再执行)

 do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式(先执行,后判断),表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。所以在 do while 语句中循环体是⾄少都要执⾏⼀次的。

如:用do...while语句,在屏幕上输出1~10的数字

C语言的分支和循环语句(自我总结)_第6张图片                                                                                                               

 

八.break和continue语句

1.break的作用(永久的终止循环)

C语言的分支和循环语句(自我总结)_第7张图片

可看到,在上述循环中当n==5时,就停止永久终止循环,不再执行下面的代码

2.continue 的作用:是用于跳过本次循环的cotinue后面的代码,直接去判断的部分,看是否执行下次判断。

C语言的分支和循环语句(自我总结)_第8张图片 

上述循环中,当i等于5,就执⾏continue,直接跳过continue后的代码,因为这⾥跳过了n= n+1,所以n⼀直为5,程序陷⼊和死循环 

九.循环嵌套

循环嵌套:可以认为把 if语句  或  for  或  while  或  do while 循环结构结合起来使用,这样可以更好的解决问题。

如:找出100~200之间的素数,打印在屏幕上,并判断有多少个(注:素数又称质数,只能被1和本身整数。

判断a是否是素数 ; 如果是素数,就打印,不是素数就跳过。我们拿2~a-1之间的数字去挨个试除j,如果其中有一个数字整除了j,a就不是素数 ;如果所有的数字都不能整除j,a就是素数

C语言的分支和循环语句(自我总结)_第9张图片

十.goto语句(指跳到哪一个地方去):

C语言的分支和循环语句(自我总结)_第10张图片 

可以看到上述代码一直循环“hehe”     goto  zhangsan表示跳到zhangsan哪去,一直重复执行“hehe”

 

你可能感兴趣的:(c语言,开发语言,c++)