分支和循环(下)

       标题接上篇文章分支和循环(上)

5. switch  语句

       除了 if 语句外,C语言还提供了 switch 语句来实现分支结构。
       switch 语句是一种特殊形式的 if...else 结构,用于判断条件有多个结果的情况。

5.1  switch  语句形式:
switch (k)
{
    case 值1:语句1;break;
    case 值2:语句2;break;    
    default:语句3
}

       上面代码中,根据表达式 k 不同的值,执行相应的 case 分支。如果找不到对应的值,就执行 default 分支。

       1. case 和后边的数字之间必须有空格
       2. 每⼀个 case 语句中的代码执行完成后,需要加上 break ,才能跳出这个switch语句。

注:
       • switch 后的 k 必须是整型表达式
       • case 后的值,必须是整形常量表达式

5.2 switch语句中的break

       switch 语句也是分支效果的,只有在 switch 语句中使用 break 才能在跳出 switch 语句,如果某一个 case 语句的后边没有 break 语句,代码会继续往下执行,有可能执行其他 case语句中的代码,直到遇到 break 语句或者 switch 语句结束。

       所以在 switch 语句中 break 语句是非常重要的,能实现真正的分支效果。
当然, break 也不是每个 case 语句都得有,这就得根据实际情况来看了。

5.3 switch语句中的default
switch (k)
{
    case 值1:语句1;break;
    case 值2:语句2;break;    
    default:语句3
}

       switch 后边的 k 的结果不是 值1 ,也不是 值2 的时候,就会执行default 子句。

5.4 switch 语句中的 case 和 default 的顺序问题

       在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满足实际需求的就可以。不过通常是把 default 子句放在最后处理的。

6. while循环

        语法形式
while ( 表达式 )
    语句;

7. for循环

7.1 语法形式

       for 循环是三种循环中使用最多的, for 循环的语法形式如下:

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

       表达式1    用于循环变量的初始化
       表达式2    用于循环结束条件判断
       表达式3    用于循环变量的调整

7.2 while循环和for循环的对比

       for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部分非常集中便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优一些

8. do-while 循环

       语法形式
do
    语句;
while  (表达式);

       while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;而 do while 循环则是先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。

       在 do while 语句中循环体是至少执行一次的,这是 do while 循环比较特殊的地方。

9. break和continue语句

       在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了 break 和 continue 两个关键字,就是应用到循环中的。
       • break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行。
       • continue 的作用是跳过本次循环 continue 后边的代码 

10. 循环的嵌套

       前面三种循环 while , do while , for ,这三种循环往往会嵌套在一起才能更好的解决问题。

11. goto语句

       C语言提供了⼀种非常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同一个函数内跳转到设置好的标号处

       goto 语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以建议能不用尽量不去使用;但是 goto 语句也不是一无是处,在多层循环的代码中,如果想快速跳出使用 goto 就非常的方便了。

  • 35
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值