switch语句算不算是一种循环?

zjtzlqr 2013-02-02 11:48:17
我们常说c语言里面包括三种循环 分别是while循环 do while循环 for循环

switch语句里面也用到break貌似也是和他们一样也是循环语句
...全文
3871 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjtzlqr 2013-02-21
  • 打赏
  • 举报
回复
引用 31 楼 zhao4zhong1 的回复:
引用 25 楼 Neversaydie_D 的回复:赵老师经常水贴啊。。。 此水非彼水。
赵老师是大学教授吗
  • 打赏
  • 举报
回复
switch不是循环 break退出分支 顺序 循环 分支洪的分支流程里面的
zhoujiawen 2013-02-20
  • 打赏
  • 举报
回复
明显不是,和if else if 一样
就是那个党伟 2013-02-19
  • 打赏
  • 举报
回复
楼上各位正解。
  • 打赏
  • 举报
回复
不是,是多项选择分支语句,但它经常用在循环结构里面。正如上面讲的,break有两个功能,一是跳出swith语句,与循环没关,二是跳出循环。
flysnowhite 2013-02-18
  • 打赏
  • 举报
回复
不是。可以和goto构成循环
yaonimeidejifena 2013-02-18
  • 打赏
  • 举报
回复
我的理解 switch 就是一个找值的过程。 找到case 对应的值后,则一直往下运行语句,直到break;
wl076 2013-02-15
  • 打赏
  • 举报
回复 1
循环顾名思义就是循环执行的意思。 循环必须有条件从可以从{}块的末尾结束后在从头执行。显然switch不行。switch 只是判断而已。 楼主想的太多了。
FMadot 2013-02-13
  • 打赏
  • 举报
回复
算是一种GOTO BREAK本质也是GOTO
YYSSSMWL120 2013-02-13
  • 打赏
  • 举报
回复
c090869 2013-02-13
  • 打赏
  • 举报
回复
循环,按字面上理解:有进也有退。 switch语句在流程上没有退的功能,所以不算。
庄鱼 2013-02-13
  • 打赏
  • 举报
回复
switch语句不能用if简单替代,switch语句适用的条件比if语句严格得多:case 必须为明确的常数而不是变量,swicth仅判断一次且只能为定值,不能为区间值:
switch(Exp){
  case FUNS:v = Func(v);break;
  case LIMIT:v = LIMIT;
  case FUN1: Fun1(v);break;
  default: v /= v-LIMIT;};
上述代码用if..else语句远比switch语句复杂的多,判断的次数和语句的组织也要复杂很多
欧阳春晖 2013-02-12
  • 打赏
  • 举报
回复
break跳出for、while、do-while和switch并不是代表他们都是循环语句,switch只是开关语句而已,除他之外,其他是循环语句
25K纯帅 2013-02-12
  • 打赏
  • 举报
回复
不是循环,个人理解是:switch语句如果没有break语句是要执行ABCD..这样一直下来,但是你不需要一直执行,只需要执行其中一个部分,所以会有break语句
jiandingzhe 2013-02-12
  • 打赏
  • 举报
回复
它懒得在break之外另挑一个单词用,楼主你还真就当真了。
xiaoyuehanym 2013-02-12
  • 打赏
  • 举报
回复
switch是分支语句
Joseph_1118 2013-02-12
  • 打赏
  • 举报
回复
引用 35 楼 sNowox 的回复:
引用 23 楼 benny89415 的回复:我一直认为swich的源码应该是这样的 for(;;) { if()..; if()..; if()..; break; } 我用过continue语句在switch里,他会在次运行一遍switch 我表示switch中不能使用continue 你可能是在switch外层有循环
+1
sNowox 2013-02-06
  • 打赏
  • 举报
回复
引用 23 楼 benny89415 的回复:
我一直认为swich的源码应该是这样的 for(;;) { if()..; if()..; if()..; break; } 我用过continue语句在switch里,他会在次运行一遍switch
我表示switch中不能使用continue 你可能是在switch外层有循环
sNowox 2013-02-06
  • 打赏
  • 举报
回复
引用 23 楼 benny89415 的回复:
我一直认为swich的源码应该是这样的 for(;;) { if()..; if()..; if()..; break; } 我用过continue语句在switch里,他会在次运行一遍switch
是这样么? 我去试试 我一直以为switch就是一堆if else
YunXia98Li 2013-02-06
  • 打赏
  • 举报
回复
不是循环,只是流程控制。
加载更多回复(32)

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧