分支语句和循环语句

一、分支语句(选择结构)

1   .if语句  

 (1)     表达式 ——需要表达式为真,才能执行if后的语句(非0的则为真)。

(2)如果表达式为真,执行语句1;表达式为假,执行语句2.

在编写程序的时候时,要注意规范书写代码:

test函数中,表达式成立,返回1;表达式不成立,返回0;这样的书写格式,让初学者不宜看懂。所以在编辑代码时,一定要注意格式的美观。

(3)在利用if来进行判断的时候,往往不是存在两种可能性,可能存在多种的可能性。这时就需要利用if的多分支语句来进行判断。 如果表达式1成立,执行语句1;如果表达式2成立,执行语句2;如果表达式都不成立时,则执行表达式3。

在进行判断完成后,执行的语句只执行判断条件后面紧跟着的语句,如果需要执行多语句时,则需要添加{}这样的代码块,这样就把代码块的内容整体看为一条语句。

(4)悬空else

 

else 的匹配 else 是和它离的最近的 if 匹配的
注:在编写代码的时候,在图中的表达式中,b==2,可以写为2==b,如果把==变为=时,b==2成立,2==b不成立,因为一个表达式或一个常量不成进行赋值操作。
2.  switch 语句
在进行选择语句的时候,如果判断的条件太多,用if语句就太复杂,所以我们可以采用witch语句。
语句项为一些case语句。
在执行本程序当中的switch中,为什么答案会有星期六和星期天呢。

如果我们需要一个准确的答案,则利用break;
break 语句 的实际效果是把语句列表划分为不同的分支部分。
default 子句 :当所有的case语句都不执行时, 程序并不会终止,也不会报错,因为这种情况在 C中并不认为是个错误。
写在任何一个 case 标签可以出现的位置。
switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个 switch 语句中只能出现一条 default 子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个 case 标签一样执行 default 子句。

 注:sswitch(),括号中的内容必须为整形表达式。  case 后必须是整型常量表达式

二、循环语句

1. while 循环  

   while循环的执行流程:

如打印1——10的数字:

break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以: while 中的 break 是用于永久终止循环的。
continue 在while循环中的作用就是:

continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,
而是直接跳转到 while 语句的判断部分。进行下一次循环的入口判断

2.  for循环

执行流程图: 

表达式 1
表达式 1 初始化部分 ,用于初始化循环变量的。
表达式 2
表达式 2 条件判断部分 ,用于判断循环时候终止。
表达式 3
表达式 3 调整部分 ,用于循环条件的调整。
for 循环中也可以出现 break continue ,他们的意义和在 while 循环中是一样的。
但也存在差异:
建议:
1. 不可在 for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议 for 语句的循环控制变量的取值采用 前闭后开区间”写法。

在本次循环中,循环次数为0次,因为在表达式2中,k=0,0为假则直接跳出循环。

3.do...while()循环

执行流程图:

特点:循环至少执行一次,使用的场景有限,所以不是经常使用。  break和continue 同样在do...while()循环适用。

 4.goto语句

C 语言中提供了可以随意滥用的 goto 语句和标记跳转的标号。
从理论上 goto 语句是没有必要的,实践中没有 goto 语句也可以很容易的写出代码。
但是某些场合下 goto 语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。
例如:一次跳出两层或多层循环。
多层循环这种情况使用 break 是达不到目的的。它只能从最内层循环退出到上一层的循环。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山野村夫.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值