c语言中开关有哪些用法

  

c语言中开关有哪些用法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

c语言中开关的用法是:1,开关后面括弧内的【表达式】,ANSI标准允许它为任何类型;2,当表达式的值与某一个案例后面的常量表达式的值相等时,就执行此情况后面的语句,否则,就执行违约后面的语句。

<强> c语言中开关的用法是:

功能:开关语句是多分支选择语句。用来实现多分支选择结构如果语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择,例如,学生成绩分类(90年为“A"等,80 - 89分为& # 39;b # 39;等,70 - 90分为& # 39;c # 39;等…)。当然这些都可以用嵌套的如果语句来外理,但如果分支较多,则嵌套的如果语句层数多,程序沉余长而且可读性降低c语言提供开关语句直接外理多分支选择,它相当于帕斯卡语言中的情况下语句。

形式:开关(表达式)

{   例常量表达式1:语句1   例常量表达式2:语句2   。   。   。   例常量表达式n:语句n   默认值:语句n + 1   }

例如,要求按照考试成绩的等级打印出百分制分数段,可以用开关语句实现:

开关(年级)   {   & # 39;一个# 39;:printf(“85 - 100年\ n");   & # 39;b # 39;: printf(“70 - 84年\ n");   & # 39;c # 39;: printf (“60 - 69 \ n");   & # 39;d # 39;: printf (“& lt; 60 \ n");   默认值:printf(“错误\ n");   }

说明:

(1)开关后面括弧内的“表达式“,ANSI标准允许它为任何类型。

(2)当表达式的值与某一个案例后面的常量表达式的值相等时,就执行此情况后面的语句,若所有的案例中的常量表达式的值都没有与表达式的匹配的,就执行违约后面的语句。

(3)每一个案件的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。

(4)各个案例各默认的出现次序不影响执行结果,例如,可以先出现“默认值:…“,再出现“案例& # 39;d # 39;:…“,然后是“案例& # 39;一个# 39;:…“。

(5)执行完一个案例后面的语句后,流程控制转移到下一个案子继续执行!”情况下常量表达式“只是起语句标号作用,并不是在该处进行条件判断。在执行立刻语句时,根据开关后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断,例如,上面的例子中,若分数的值等于& # 39;一个# 39;,则将连续输出:

85 - 100   70 - 84   60 - 69   & lt; 60   误差

因此,应该在执行一个案例分支后,使流程跳出开关结构,即终止开关语句的执行。

可以用一个打破语句来达到此目的。将上面的开关结构改写如下:

开关(年级)   {   & # 39;一个# 39;:printf(“85 - 100年\ n");打破;   & # 39;b # 39;: printf(“70 - 84年\ n");打破;   & # 39;c # 39;: printf (“60 - 69 \ n");打破;   & # 39;d # 39;: printf (“& lt; 60 \ n");打破;   默认值:printf(“错误\ n");   }

最后一个分支(默认)可以不加打破语句。如果等级的值为& # 39;b # 39;,则只输出“70 - 84“。

在案件后面中虽然包含一个以上执行语句,但可以不必用花括弧括起来,会自动顺序执行本例后面所有的执行语句。当然加上花括弧也可以。

(6)多个案例可以共用一组执行语句,例如:

& # 39;一个# 39;:   & # 39;b # 39;:   & # 39;c # 39;: printf(“在60 \ n");打破;   。   。

等级的值为& # 39;一个# 39;,& # 39;b # 39;或& # 39;c # 39;时都执行同一组语句。


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

c语言中开关有哪些用法