switch语句的用法?

作者&投稿:爨怪 (若有异议请与网页底部的电邮联系)
c语言中“switch ”语句的用法有哪些?~

C语言程序语句switch:
  switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
  switch语句的语法如下(switch,case和default是关键字):
  switch ( controllingExpression )
  {
  case constantExpression1 :
  case constantExpression2 :
  case constantExpression3 :
  statements; //当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
  break;
  case constantExpression :
  statements ;
  break;
  ...
  default :
  statements ;
  break;
  }
  遵守switch语句规则
  switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
  只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
  case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。
  case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
  C语言switch应用例子:
  例一:
  #include
  int main()
  {
  double score;
  printf("请输入分数:
");
  scanf("%lf",&score);
  switch((int)(score/10)) //如果写成witch((int)score/10)会出现严重错误
  {
  case 10:
  case 9:printf("A(最好)
");break;
  case 8:printf("B(优秀)
");break;
  case 7:printf("C(良好)
");break;
  case 6:printf("D(及格)
");break;
  case 5:
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:printf("E(不及格)
");break;
  default:printf("Error!
");
  }
  }
  例二:
  #include
  int main()
  {
  char rank;
  printf("请输入分数等级:(A、B、C、D、E)
");
  scanf("%c",&rank);
  switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
  {
  case 'A':printf("A(90~100)
");break;
  case 'B':printf("B(80~89)
");break;
  case 'C':printf("C(70~79)
");break;
  case 'D':printf("D(60~69)
");break;
  case 'E':printf("E(0~59)
");break;
  default:printf("error!
");break;
  }
  }
  例三:
  输入年月日,判断这一天是这一年的第几天。
  #include
  int main()
  {
  int year,month,date,leap,days=0;
  scanf("%4d%2d%2d",&year,&month,&date);
  leap=(year%4==0&&year%100!=0||year%400==0);
  switch(month)
  {
  case 12:days+=30;
  case 11:days+=31;
  case 10:days+=30;
  case 9:days+=31;
  case 8:days+=31;
  case 7:days+=30;
  case 6:days+=31;
  case 5:days+=30;
  case 4:days+=31;
  case 3:days+=28+leap;
  case 2:days+=31;
  case 1:days+=date;break;
  }
  printf("%4d年%2d月%2d日是这一年的第%d天。
",year,month,date,days);
  }

Java语言基础(选择结构switch语句的基本使用)

执行过程:

  1. 先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

  2. 当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。

  3. 如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。



语法:
switch(val)
{
case x:
//程序段1
break;
case y:
//程序段2
break;
case z:
//程序段3
break;
default:
//程序段4
}
首先,程序会用val的值与 x,y,z的值进行比较,如果等于其中某一个值,则程序跳转至该case执行程序,执行完后退出switch语句。例如等于x,则程序跳转到程序段2,然后退出switch。如果所有的case值都不相等,则执行default中的程序,例如上面的程序段4.
说明1:val的值应该为整数,case语句的个数可以很多,上面的x,y,z的值也是由你设定,但一定是一个常量
说明2:case语句里边的break别忘了,否则执行完该程序段后,会继续往下执行

执行过程:

  1. 先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

  2. 当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。

  3. 如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。



switch语句的作用是根据表达式的值,是流程跳转到不同的语句。switch语句的一般形式如下:
switch
{
case 常量1:语句1
case 常量2:语句2
。 。 。
。 。 。
。 。 。
case 常量n: 语句n
defult : 语句n+1
}

C语言提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为:
引用
switch(表达式)
{
case 常量表达式1:
语句1;
break;

case 常量表达式2:
语句2;
break;

……
case 常量表达式n:
语句n;
break;

default:
语句n+1;
break;
}

switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段。


C语言的对语句中用作判断的表达式一般为__
关系表达式;

求纳尼亚传奇1英语介绍、经典语句、影评 不要太多,单词不要太难,_百...
in a magical wardrobe.Once there,the siblings discover a charming,once peaceful land inhabited(居住) by talking beasts,dwarfs(小矮人),fauns(半羊人),centaurs(人马) and giants but no human that has been turned into a world of eternal winter by the evil White Witch.There ...

唔都阿怒怒是什么歌
《WitchDoctor》。唔依唔阿阿是一首丹麦语(Dansk)歌,唔依唔阿阿是《WitchDoctor》歌曲中的谐音语句。Hey!WitchDoctor!Giveusthemagicword!(嘿巫医告诉我们咒语是什么)。Allright,you、go、ooo、ooo、ooo、aha、ting、tang(好吧你就说唔依唔阿阿)。《WitchDoctor》是Cartoons乐队于1998间发售单曲...

请帮忙翻译成英语!!要语句通顺,无语法问题
Today, I read" the sleeping beauty", the story is the major content of the king and the queen gave birth to a beautiful princess in the Kingdom, there are thirteen divination female, but the king had invited twelve, they all give the Princess Wishes, but the thirteenth witch ...

哈利波特3阿兹卡班的囚徒中的经典语句~~【至少10句】
2013-10-13 求哈利波特3阿兹卡班的囚徒中的经典语句!小说版!!中文的!!... 7 2011-05-09 哈利波特与阿兹卡班的囚徒中最精彩的对话 28 2016-02-20 哈利波特与阿兹卡班的囚徒中的一句话 1 2016-06-23 哈利波特与阿兹卡班囚徒的台词中英对照 73 2018-10-31 哈利波特与阿兹卡班囚徒中的好段? 20...

...的值是 char ch='8'; int r=10; S.witch( ch+1 ) { caS.e '7...
先看结果 再听原理:char类型本身是字符型,但是它可以转型成int 这时,这个int数 代表的就是这个字符的ASCII编码 当对它进行加一操作时,就会对 ‘8’这个字符的ASCII编码加一 得到的就是'9'这个字符 所以 r 要+6 所以最终结果是 16 选择C 配图码字 希望能让你满意 ...

求JAVa大神,在线等,急!!!
答案 --- 1, A 2, B 3, B 4, B 5, D 6, D 7, C 8, A 9, C 10, D 11, D 12, B 13, A 14, D 15, B 16, D 17, C 18, B 19, C

100词的英语童话 睡美人,语句要通顺、不要直接拿翻译软件弄,好的...
Sleeping beauty is a queen gave birth to the child. The queen is very happy, invited the human and fairy all sides friends to come to dinner. But did not invite the evil witch Carla Persian. The matter was jealous and resentful witch aware, uninvited, in "the princess will ...

谁能给我10句英语定语从句的句子?
1.关系代词who的语句This is the teacher who often tell jokes.这就是那个常常讲笑话的老师.She is the girl who\/whom I will go to shanghai with.她就是要和我一起去上海的女孩.2.关系代词whose的语句Which is the Asian country whose economy is growing the fastest?哪一个是亚洲发展最快...

鬼妈妈中的经典语句,汉加英,最少十句
Michigan. And if I'm a water witch, then where's the secret well?You stomp too hard and you'll fall in it.Oh!See?It's supposed to be so deep, if you fell to the bottom and looked up,you'd see a sky full of stars in the middle of the day.Ha!Surprised she let ...

辽中县18425905048: 请详细举例解释说明下switch语句的用法? -
除帜特非: if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题.MATLAB语言为解决多分支判断选择提供了switch-case语句.switch-case语句的一般表达形式为:switch〈选择判断量〉Case 选择判断值1选择判断语句1case ...

辽中县18425905048: switch语句用法(在编程中switch常与哪个语句搭配使用)
除帜特非: 1、switch()语句的工作原理:通过判断case后的表达式与switch后的表达式是否匹配,一旦case匹配,则不管后面的case是否匹配,都将依次执行后面的程序代码,直...

辽中县18425905048: switch语句用法 -
除帜特非: switch是多分支语句的关键词,在很多语言中都有使用,一般都是跟case配套使用,c语言中格式举例如下:switch (a) { case 1:处理程序 case 2:处理程序.............case n:处理程序 default:处理程序 } 其中a为变量,case后面为常量或常量表达式,处理程序可以由多条语句组成,处理程序一般以break;作为结束.

辽中县18425905048: switch语句怎么用啊 具体啊! -
除帜特非: switch(){case : case :...... }先说语法,再说注意事项switch的判断变量类型只能是字符型或者整型,请注意,只有这两种才可以switch后面紧跟的那个小括号里面就是 要判断的变量名称 然后switch要求它后面的大括号完整,不能不写case 后面加...

辽中县18425905048: C语言中switch语句的用法 -
除帜特非: 在每个case语句后加上break语句(即在每个printf语句后加上一句break;),执行break后直接跳出switch.这样就只输出一个了

辽中县18425905048: switch用法 -
除帜特非: switch 语句用法功能:switch语句是多分支选择语句.用来实现多分支选择结构.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择.例如,学生成绩分类(90为"A"等,80-89分为'B'等,70-90分为'C'等......).当然这些都可以用...

辽中县18425905048: switch 语句 到底有哪些用法 这样使用它 -
除帜特非: 作用跟if elseif else一样 但比if效率要高 语法:switch(){ case:break; case:break; default:}

辽中县18425905048: switch语句的使用 -
除帜特非: C和早期的c++的时候,switch只能对int使用,后来才加上string的,其实从效率上来说,switch和if-else基本是等价的,而且当分支数量特别多的时候,if-else好像效率更高

辽中县18425905048: 【c语言初学者】switch语句用法,给写个例子,比如1+1=?,a:2,b:3,c:4,d:5 -
除帜特非: #include void main() { switch(1+1){ case 2:printf("回答正确"); break; case 3:printf("错误"); break;case 4:printf("错误"); break; case 5: printf("错误"); break;default : d=a/b; printf("报错咯“); break; }

辽中县18425905048: switch 语句怎样使用的?
除帜特非: switch(值){ case 1 : 条件;break; case 1 : 条件;break; case 1 : 条件;break; .... default:条件;break; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网