您好,今天欣欣来为大家解答以上的问题。c语言中switch的用法相信很多小伙伴还不知道,现在让我们一起来看看吧!
c语言中switch的用法(c语言switch的用法计算)
1、C语言程序语句switch:switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。
2、其功能就是控制业务流程流转的。
3、switch语句的语法如下(switch,case和default是关键字):switch ( controllingExpression ){case constantExpression1 :case constantExpression2 :case constantExpression3 :statements; //当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statementsbreak;case constantExpression :statements ;break;...default :statements ;break;}遵守switch语句规则switch语句非常有用,但在使用时必须谨慎。
4、所写的任何switch语句都必须遵循以下规则:只能针对基本数据类型使用switch,这些类型包括int、char等。
5、对于其他类型,则必须使用if语句。
6、case标签必须是常量表达式(constantExpression),如42或者"42"。
7、如果需要在运行时计算case标签的值,必须使用if语句。
8、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
9、C语言switch应用例子:例一:#includeint main(){double score;printf("请输入分数:\n");scanf("%lf",&score);switch((int)(score/10)) //如果写成witch((int)score/10)会出现严重错误{case 10:case 9:printf("A(最好)\n");break;case 8:printf("B(优秀)\n");break;case 7:printf("C(良好)\n");break;case 6:printf("D(及格)\n");break;case 5:case 4:case 3:case 2:case 1:case 0:printf("E(不及格)\n");break;default:printf("Error!\n");}}例二:#includeint main(){char rank;printf("请输入分数等级:(A、B、C、D、E)\n");scanf("%c",&rank);switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,{case 'A':printf("A(90~100)\n");break;case 'B':printf("B(80~89)\n");break;case 'C':printf("C(70~79)\n");break;case 'D':printf("D(60~69)\n");break;case 'E':printf("E(0~59)\n");break;default:printf("error!\n");break;}}例三:输入年月日,判断这一天是这一年的第几天。
10、#includeint 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天。
11、\n",year,month,date,days);}希望对你有帮助。
12、这个是多分支时用到的如果问题是有多个互拆的条件时,那么用这个最好和多个if-else if--else实现的功能相同如输出学生成绩的abcde分段,90-100为a,80-89为b,以此类推注意的地方1、条件必须互拆2、case空格 符合的条件 冒号 处理 break如 case 1: add();break;如果不用break,那么会执行下面的case项3、有default项,是都没有case处理的时候的,可以没有switch(a){case 1:break;case 2:break;case 3:break;default:}不断判断是否符合各个case的值,如果符合,就执行后面的语句switch(a){case 1:break;case 2:break;case 3:break;default:}。
本文到这结束,希望上面文章对大家有所帮助。