求教c语言中switch 语句的详细用法 关于c语言switch语句的用法

c\u8bed\u8a00\u4e2d\u201cswitch \u201d\u8bed\u53e5\u7684\u7528\u6cd5\u6709\u54ea\u4e9b\uff1f

C\u8bed\u8a00\u7a0b\u5e8f\u8bed\u53e5switch\uff1a
\u3000\u3000switch\u7528\u5728\u7f16\u7a0b\u4e2d\uff0c\u5982C\u8bed\u8a00\u4e2d\u5b83\u7ecf\u5e38\u8ddfcase\u4e00\u8d77\u4f7f\u7528\uff0c\u662f\u4e00\u4e2a\u5224\u65ad\u9009\u62e9\u4ee3\u7801\u3002\u5176\u529f\u80fd\u5c31\u662f\u63a7\u5236\u4e1a\u52a1\u6d41\u7a0b\u6d41\u8f6c\u7684\u3002
\u3000\u3000switch\u8bed\u53e5\u7684\u8bed\u6cd5\u5982\u4e0b(switch\uff0ccase\u548cdefault\u662f\u5173\u952e\u5b57)\uff1a
\u3000\u3000switch ( controllingExpression )
\u3000\u3000{
\u3000\u3000case constantExpression1 :
\u3000\u3000case constantExpression2 :
\u3000\u3000case constantExpression3 :
\u3000\u3000statements; //\u5f53\u6ee1\u8db3constantExpression1\u3001constantExpression2\u3001constantExpression3\u4efb\u4f55\u4e00\u4e2a\u90fd\u6267\u884cstatements
\u3000\u3000break;
\u3000\u3000case constantExpression :
\u3000\u3000statements ;
\u3000\u3000break;
\u3000\u3000...
\u3000\u3000default :
\u3000\u3000statements ;
\u3000\u3000break;
\u3000\u3000}
\u3000\u3000\u9075\u5b88switch\u8bed\u53e5\u89c4\u5219
\u3000\u3000switch\u8bed\u53e5\u975e\u5e38\u6709\u7528\uff0c\u4f46\u5728\u4f7f\u7528\u65f6\u5fc5\u987b\u8c28\u614e\u3002\u6240\u5199\u7684\u4efb\u4f55switch\u8bed\u53e5\u90fd\u5fc5\u987b\u9075\u5faa\u4ee5\u4e0b\u89c4\u5219\uff1a
\u3000\u3000\u53ea\u80fd\u9488\u5bf9\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4f7f\u7528switch\uff0c\u8fd9\u4e9b\u7c7b\u578b\u5305\u62ecint\u3001char\u7b49\u3002\u5bf9\u4e8e\u5176\u4ed6\u7c7b\u578b\uff0c\u5219\u5fc5\u987b\u4f7f\u7528if\u8bed\u53e5\u3002
\u3000\u3000case\u6807\u7b7e\u5fc5\u987b\u662f\u5e38\u91cf\u8868\u8fbe\u5f0f(constantExpression)\uff0c\u598242\u6216\u8005"42"\u3002\u5982\u679c\u9700\u8981\u5728\u8fd0\u884c\u65f6\u8ba1\u7b97case\u6807\u7b7e\u7684\u503c\uff0c\u5fc5\u987b\u4f7f\u7528if\u8bed\u53e5\u3002
\u3000\u3000case\u6807\u7b7e\u5fc5\u987b\u662f\u60df\u4e00\u6027\u7684\u8868\u8fbe\u5f0f\uff1b\u4e5f\u5c31\u662f\u8bf4\uff0c\u4e0d\u5141\u8bb8\u4e24\u4e2acase\u5177\u6709\u76f8\u540c\u7684\u503c\u3002
\u3000\u3000C\u8bed\u8a00switch\u5e94\u7528\u4f8b\u5b50\uff1a
\u3000\u3000\u4f8b\u4e00\uff1a
\u3000\u3000#include
\u3000\u3000int main()
\u3000\u3000{
\u3000\u3000double score;
\u3000\u3000printf("\u8bf7\u8f93\u5165\u5206\u6570\uff1a\n");
\u3000\u3000scanf("%lf",&score);
\u3000\u3000switch((int)(score/10)) //\u5982\u679c\u5199\u6210witch((int)score/10)\u4f1a\u51fa\u73b0\u4e25\u91cd\u9519\u8bef
\u3000\u3000{
\u3000\u3000case 10:
\u3000\u3000case 9:printf("A(\u6700\u597d)\n");break;
\u3000\u3000case 8:printf("B(\u4f18\u79c0)\n");break;
\u3000\u3000case 7:printf("C(\u826f\u597d)\n");break;
\u3000\u3000case 6:printf("D(\u53ca\u683c)\n");break;
\u3000\u3000case 5:
\u3000\u3000case 4:
\u3000\u3000case 3:
\u3000\u3000case 2:
\u3000\u3000case 1:
\u3000\u3000case 0:printf("E(\u4e0d\u53ca\u683c)\n");break;
\u3000\u3000default:printf("Error!\n");
\u3000\u3000}
\u3000\u3000}
\u3000\u3000\u4f8b\u4e8c\uff1a
\u3000\u3000#include
\u3000\u3000int main()
\u3000\u3000{
\u3000\u3000char rank;
\u3000\u3000printf("\u8bf7\u8f93\u5165\u5206\u6570\u7b49\u7ea7\uff1a(A\u3001B\u3001C\u3001D\u3001E)\n");
\u3000\u3000scanf("%c",&rank);
\u3000\u3000switch(rank)//switch((int)score/10)\u51fa\u73b0\u4e25\u91cd\u9519\u8bef\uff0cswitch(((int)score)/10)\u51fa\u73b0\u4e25\u91cd\u9519\u8bef\uff0c
\u3000\u3000{
\u3000\u3000case 'A':printf("A(90~100)\n");break;
\u3000\u3000case 'B':printf("B(80~89)\n");break;
\u3000\u3000case 'C':printf("C(70~79)\n");break;
\u3000\u3000case 'D':printf("D(60~69)\n");break;
\u3000\u3000case 'E':printf("E(0~59)\n");break;
\u3000\u3000default:printf("error!\n");break;
\u3000\u3000}
\u3000\u3000}
\u3000\u3000\u4f8b\u4e09\uff1a
\u3000\u3000\u8f93\u5165\u5e74\u6708\u65e5\uff0c\u5224\u65ad\u8fd9\u4e00\u5929\u662f\u8fd9\u4e00\u5e74\u7684\u7b2c\u51e0\u5929\u3002
\u3000\u3000#include
\u3000\u3000int main()
\u3000\u3000{
\u3000\u3000int year,month,date,leap,days=0;
\u3000\u3000scanf("%4d%2d%2d",&year,&month,&date);
\u3000\u3000leap=(year%4==0&&year%100!=0||year%400==0);
\u3000\u3000switch(month)
\u3000\u3000{
\u3000\u3000case 12:days+=30;
\u3000\u3000case 11:days+=31;
\u3000\u3000case 10:days+=30;
\u3000\u3000case 9:days+=31;
\u3000\u3000case 8:days+=31;
\u3000\u3000case 7:days+=30;
\u3000\u3000case 6:days+=31;
\u3000\u3000case 5:days+=30;
\u3000\u3000case 4:days+=31;
\u3000\u3000case 3:days+=28+leap;
\u3000\u3000case 2:days+=31;
\u3000\u3000case 1:days+=date;break;
\u3000\u3000}
\u3000\u3000printf("%4d\u5e74%2d\u6708%2d\u65e5\u662f\u8fd9\u4e00\u5e74\u7684\u7b2c%d\u5929\u3002\n",year,month,date,days);
\u3000\u3000}

\u51e1\u662f\u4f7f\u7528\u8fc7\u7684\u4eba\u90fd\u4f1a\u6709\u540c\u6837\u7684\u611f\u89c9\u2014\u2014C\u8bed\u8a00\u7684\u4f7f\u7528\u7075\u6d3b\u8fd9\u4e2a\u7279\u70b9\u65e2\u662f\u4f18\u70b9\u53c8\u662f\u7f3a\u70b9\uff0c \u56e0\u4e3a\u5bf9\u7cbe\u901aC\u8bed\u8a00\u7684\u7528\u6237\u6765\u8bb2\uff0c \u7075\u6d3b\u5c31\u610f\u5473\u7740\u7f16\u7a0b\u53ef\u4ee5\u65e0\u62d8\u65e0\u675f\uff0c \u751a\u81f3\u968f\u5fc3\u6240\u6b32\uff1b \u4f46\u5bf9\u521d\u5b66\u8005\u6216\u8005\u662f\u5c1a\u672a\u6478\u7740\u89c4\u5f8b\u7684\u7528\u6237\u6765\u8bf4\uff0c \u6709\u65f6\u5019\u5c31\u4f1a\u89c9\u5f97C\u7a0b\u5e8f\u8bbe\u8ba1\u6709\u70b9\u8c61\u96fe\u91cc\u770b\u82b1\uff0c \u6478\u4e0d\u7740\u5934\u8111\u3002 \u56e0\u4e3a\u7075\u6d3b\u5c31\u610f\u5473\u7740\u6ca1\u6709\u4e00\u4e2a\u6807\u51c6\u3002 \u800c\u5b9e\u9645\u4e0a\uff0cC \u8bed\u8a00\u548c\u5176\u5b83\u8ba1\u7b97\u673a\u8bed\u8a00\u4e00\u6837\uff0c \u53ea\u8981\u4f60\u771f\u6b63\u638c\u63e1\u4e86\u8be5\u8bed\u8a00\u7684\u6bcf\u4e00\u4e2a\u8bed\u53e5\u7684\u7279\u70b9\uff0c \u7406\u89e3\u3001 \u8fd0\u7528\u5c31\u4e0d\u96be\u638c\u63e1\u4e86\u3002 \u4e0b\u9762\u5c31C\u8bed\u8a00\u4e2dswitch \u8bed\u53e5\u7684\u4f7f\u7528\u7279\u70b9\u8c08\u8c08\u81ea\u5df1\u7684\u4f53\u4f1a\u3002 ---- switch \u8bed\u53e5\u7684\u683c\u5f0f\u5982\u4e0b\uff1a switch\uff08 \u8868\u8fbe\u5f0f\uff09 {case \u5e38\u91cf\u8868\u8fbe\u5f0f1: \u8bed\u53e51 case \u5e38\u91cf\u8868\u8fbe\u5f0f2: \u8bed\u53e52 case \u5e38\u91cf\u8868\u8fbe\u5f0f3: \u8bed\u53e53 case \u5e38\u91cf\u8868\u8fbe\u5f0fn: \u8bed\u53e5n default : \u8bed\u53e5n+1 } ---- \u4ece\u8868\u9762\u4e0a\u770b\u6765\uff0cswitch \u8bed\u53e5\u4e0ePASCAL \u8bed\u8a00\u4e2d\u7684case \u8bed\u53e5\u4ee5\u53caFOXBASE \u4e2d\u7684do case \u8bed\u53e5\u975e\u5e38\u7c7b\u4f3c\uff0c \u53ea\u662f\u5173\u952e\u5b57\u6709\u6240\u4e0d\u540c\uff1a \u4e00\u4e2a\u662fswitch\uff1b \u800c\u53e6\u4e00\u4e2a\u662fcase \u6216do case\u3002 \u4f46\u5982\u679c\u4ed4\u7ec6\u9605\u8bfb\u8fc7\u6559\u6750\u6216\u6709\u5173\u53c2\u8003\u4e66\u7684\u8bdd\uff0c \u5c31\u7edd\u4e0d\u4f1a\u6709\u6b64\u60f3\u6cd5\u3002 \u4ece\u8bed\u53e5\u7684\u529f\u80fd\u4e0a\u6765\u770b\uff0cPASCAL \u548ccase \u8bed\u53e5\u6216FOXBASE \u7684do case \u8bed\u53e5\u4e2d\u7684\u5e38\u91cf\u8868\u8fbe\u5f0f\u662f\u7528\u6765\u4e0ecase \u540e\u9762\u7684\u8868\u8fbe\u5f0f\u6bd4\u8f83\u4ee5\u786e\u5b9a\u6267\u884c\u54ea\u4e00\u4e2a\u8bed\u53e5\uff0c \u4e00\u65e6\u6267\u884c\u4e86\u67d0\u4e00\u8bed\u53e5\uff0c \u5219\u4f1a\u81ea\u52a8\u5730\u7ed3\u675f\u8fd9\u4e00case \u540e\u7684\u8bed\u53e5\uff1b \u800cC \u7684switch \u8bed\u53e5\u5219\u4e0d\u7136\u3002 \u9996\u5148\uff0cswitch \u8bed\u53e5\u4e2d\u7684\u5e38\u91cf\u8868\u8fbe\u5f0f\u53ea\u662f\u8d77\u5230\u4e00\u4e2a\u5165\u53e3\u4f5c\u7528\uff0c \u4e00\u65e6\u6267\u884c\u4e86\u76f8\u5e94\u7684\u8bed\u53e5\u540e\uff0c \u53ea\u8981\u6ca1\u6709\u5f3a\u8feb\u4e2d\u65ad\u8bed\u53e5\uff08break\uff09\uff0c\u5b83\u5c31\u4f1a\u4e00\u76f4\u6309\u987a\u5e8f\u7ee7\u7eed\u6267\u884c\u4e0b\u53bb\uff0c \u4e5f\u5c31\u662f\u4f1a\u6267\u884c\u5176\u5b83case \u540e\u9762\u7684\u8bed\u53e5\uff0c \u76f4\u5230\u9047\u5230\u201c}\u201d \u7b26\u53f7\u624d\u505c\u6b62\u3002 \u4e4d\u770b\u89c9\u5f97\u6709\u70b9\u4e0d\u53ef\u4e8b\u8bae\uff0c \u4f46\u82e5\u4ed4\u7ec6\u56de\u5473\u4e14\u5207\u8eab\u7f16\u7a0b\u4f53\u4f1a\uff0c \u90a3\u4e48\u5c31\u4f1a\u611f\u53f8\u5230C\u7684switch \u8bed\u53e5\u7684\u72ec\u5230\u4e4b\u5904\u3002 \u63a5\u4e0b\u6765\u5c31\u51e0\u4e2a\u5177\u4f53\u4f8b\u5b50\u6765\u5256\u6790\uff1aswitch \u8bed\u53e5\u7684\u7279\u70b9\u4ee5\u53ca\u533a\u522b\u4e8e\u5176\u5b83\u8bed\u8a00\u4e2d\u7684\u76f8\u5e94\u8bed\u53e5\u7684\u5999\u5904\u3002 ---- \u7b2c\u4e00\u4e2a\u4f8b\u5b50\uff1a \u6839\u636e\u8f93\u5165\u7684\u767e\u5206\u5236\u6210\u7ee9\uff0c \u7136\u540e\u7ed9\u51fa\u2018A\u2019 \uff5e\u2018E\u2019 \u76f8\u5e94\u7684\u7b49\u7ea7\u7b26\uff0890-100 \u4e3a\u2018A\u2019\u300180-89 \u4e3a\u2018B\u2019\u300170-79 \u4e3a\u2018B\u2019\u300160-69 \u4e3a\u2018C\u2019\u30010-59 \u4e3a\u2018E\u2019\uff09\u3002\u4e3b\u8981\u7684\u5904\u7406\u7a0b\u5e8f\u6bb5\u5982\u4e0b\uff1a\uff08temp\u3001score\u3001grade \u7686\u4e3a\u6574\u578b\u53d8\u91cf\uff09 temp=score/10; switch\uff08temp\uff09 {case 9\uff1agrade=\u2018A\u2019\uff1b case 8\uff1agrade=\u2018B\u2019\uff1b case 7\uff1agrade=\u2018C\u2019\uff1b case 6\uff1agrade=\u2018D\u2019\uff1b case 5\uff1agrade=\u2018E\u2019\uff1b } printf\uff08\u201cthe grade is %c\u201d,grade\uff09\uff1b ---- \u4ed4\u7ec6\u9605\u8bfb\u8fd9\u6bb5\u7a0b\u5e8f\uff08 \u6839\u636eC\u8bed\u8a00\u7684\u7279\u70b9\uff09\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u9519\u8bef\u3002 \u9996\u5148\uff0c \u5bf9100 \u5206\u548c\u4f4e\u4e8e50 \u5206\u7684\u60c5\u51b5\u6ca1\u6709\u8003\u8651\uff1b \u5176\u6b21\uff0cC \u8bed\u8a00\u7684switch \u7279\u70b9\u662f\u987a\u5e8f\u6267\u884c\uff0c \u90a3\u4e48\u8fd9\u6bb5\u7a0b\u5e8f\u4e0d\u8f93\u5165\u7684\u5206\u6570\u5982\u4f55\uff0c \u6700\u540e\u7684\u8f93\u51fa\u90fd\u5c06\u662f\u2018E\u2019\u3002\u56e0\u6b64\uff0c \u4fee\u6539\u8fd9\u6bb5\u7a0b\u5e8f\uff0c \u53ef\u4ee5\u5f97\u5230\u4e00\u4e2a\u6b63\u786e\u7b54\u6848\u662f\uff1a temp=score/10\uff1b switch\uff08temp\uff09 {case 10\uff1a case 9\uff1agrade=\u2018A\u2019\uff1bbreak\uff1b case 8\uff1agrade=\u2018B\u2019\uff1bbreak\uff1b case 7\uff1agrade=\u2018C\u2019\uff1bbreak\uff1b case 6\uff1agrade=\u2018D\u2019\uff1bbreak\uff1b case 5\uff1a case 4\uff1a case 3\uff1a case 2\uff1a case 1\uff1a case 0\uff1agrade=\u2018E\u2019\uff1b } printf\uff08\u201cthe grade is %c,grade\u201d\uff09\uff1b ---- \u4f46\u8fd9\u4e48\u4e00\u4e2a\u7ed3\u679c\u8fd8\u4e0d\u7b97\u662f\u4e00\u4e2a\u597d\u7684C\u7a0b\u5e8f\uff0c \u56e0\u4e3a\u5b83\u53ea\u662f\u80fd\u5f97\u5230\u6b63\u786e\u7684\u89e3\uff0c \u6ca1\u6709\u771f\u6b63\u7528\u5230C\u7684\u7279\u70b9\u3002 \u5982\u679c\u5c06C\u7684\u7279\u70b9\u8fd0\u7528\u5230\u8fd9\u6bb5\u7a0b\u5e8f\u4e2d\uff0c \u5219\u7a0b\u5e8f\u5c06\u4f18\u5316\u6210\u5982\u4e0b\uff1a grade=\u2018A\u2019\uff1b temp=score/10\uff1b switch\uff08temp\uff09 {case 0\uff1a case 1\uff1a case 2\uff1a case 3\uff1a case 4\uff1a case 5\uff1agrade++\uff1b case 6\uff1agrade++\uff1b case 7\uff1agrade++\uff1b case 8\uff1agrade++\uff1b case 9\uff1a case 10\uff1a } printf\uff08\u201cthe grade is %c,grade\u201d\uff09\uff1b ---- \u4ece\u8fd9\u6bb5\u7a0b\u5e8f\u4e2d\uff0c \u6211\u4eec\u53ef\u4ee5\u4f53\u4f1a\u5230\u524d\u9762\u6240\u8bf4\u7684\u8be5\u8bed\u53e5\u7684\u7279\u70b9\u3002 ---- \u7b2c\u4e8c\u4e2a\u4f8b\u5b50\uff1a \u8fd0\u8f93\u516c\u53f8\u5bf9\u7528\u6237\u8ba1\u7b97\u8fd0\u8d39\u3002 \u8ddd\u79bb\uff08s\uff09 \u8d8a\u8fdc\uff0c \u6bcf\u516c\u91cc\u8fd0\u8d39\u8d8a\u4f4e\u3002 \u5177\u4f53\u6807\u51c6\u5982\u4e0b\uff1a s =12 \u65f6\uff0cd=15%\u3002 \u6240\u4ee5\u53ef\u4ee5\u6709\u5982\u4e0b\u6ca1\u6709\u9519\u8bef\u7684\u7a0b\u5e8f\u6bb5\uff1a scanf\uff08\u201c%f,%f,%d\u201d,&p,&w,&s\uff09\uff1b if\uff08s>=3000\uff09c=12 else c=s/250 switch\uff08c\uff09 {case 0\uff1ad=0\uff1bbreak\uff1b case 1\uff1ad=2\uff1bbreak\uff1b case 2\uff1a case 3\uff1ad=5\uff1bbreak\uff1b case 4\uff1a case 5\uff1a case 6\uff1a case 7\uff1ad=8\uff1bbreak\uff1b case 8\uff1a case 9\uff1a case 10\uff1a case 11\uff1ad=10\uff1bbreak\uff1b case 12\uff1ad=15\uff1b } f=p*w*s*\uff081-d/100.0\uff09\uff1b printf\uff08\u201cfreight%15.f\u201d,f\uff09\uff1b ---- \u5982\u540c\u524d\u4e00\u4e2a\u9898\u76ee\uff0c \u8fd9\u4e2a\u7a0b\u5e8f\u6bb5\u4e5f\u5b8c\u5168\u53ef\u4ee5\u5229\u7528switch \u7279\u70b9\uff0c \u6539\u8fdb\u4f18\u5316\u5f97\u5230\u5982\u4e0b\u7a0b\u5e8f\u6bb5\uff1a d=0 scanf\uff08\u201c%f,%f,%k\u201d,&p,&w,&s\uff09\uff1b if\uff08s>=3000\uff09c=12 else c=s/250 switch\uff08c\uff09 {case 12\uff1ad+=5\uff1b case11\uff1a case 10\uff1a case 9\uff1a case 8\uff1ad+=2\uff1b case 7\uff1a case 6\uff1a case 5\uff1a case 4\uff1ad+=3\uff1b case 3\uff1a case 2\uff1ad+=3\uff1b case 1\uff1ad+=2\uff1b case 0\uff1a } f=p*w*s*\uff081-d/100.0\uff09\uff1b printf\uff08\u201cfreight%15.4f\u201d,f\uff09\uff1b ---- \u4ece\u4e0a\u9762\u4e24\u4e2a\u4f8b\u5b50\u5206\u6790\uff0c \u4f7f\u6211\u4eec\u53ef\u4ee5\u6bd4\u8f83\u6e05\u695a\u5730\u770b\u89c1C\u8bed\u8a00\u4e2dswitch \u8bed\u53e5\u4e0e\u5176\u5b83\u8bed\u8a00\u4e2d\u76f8\u5e94\u8bed\u53e5\u7684\u533a\u522b\u3002 \u5c3d\u7ba1\u5728\u5b66\u4e60\u548c\u6559\u8ba1\u7b97\u673a\u8bed\u8a00\u7684\u8fc7\u7a0b\u4e2d\uff0c \u6211\u4eec\u59cb\u7ec8\u8ba4\u4e3a\u8bed\u8a00\u662f\u76f8\u901a\u7684\uff0c \u8fd9\u6837\u4fbf\u4e8e\u5b66\u4e60\u4e00\u95e8\u65b0\u7684\u8bed\u8a00\u3002 \u4f46\u662f\u771f\u6b63\u8981\u628a\u67d0\u4e00\u95e8\u8ba1\u7b97\u673a\u8bed\u8a00\u5b66\u597d\uff0c \u975e\u5f97\u638c\u63e1\u5b83\u7684\u7279\u70b9\u3002 ---- \u8fd9\u91cc\u4ec5\u4ec5\u662f\u81ea\u5df1\u5728\u7f16\u7a0b\u5b9e\u8df5\u8fc7\u7a0b\u4e2d\u7684\u4e00\u70b9\u4f53\u4f1a\uff0c \u6709\u9519\u8bef\u7684\u5730\u65b9\u6073\u8bf7\u6279\u8bc4\u6307\u6b63\u3002 \u5e0c\u671b\u5bf9\u4f60\u6709\u5e2e\u52a9\uff01

switch 是一个开关语句,和case配套使用, 和if else 判断语句差不多, switch 语句是用于多分支语句进行条件判断,比如:

i++;
switch (i)
{
case 1 : P1 = 0xFE; //i =1; 执行P1 = 0XFE;
breK; //执行完成后跳出
case 2 : P1 = 0xFD; //i =2; 执行P1 = 0XFD;
break;
case 3 : P1 = 0xFB; //i =3; 执行P1 = 0XFB;
break;
case 4 : P1 = 0xF7 //i =4; 执行P1 = 0X7E;
break;
..........................................................................

default: break; //如果i 不符合以上条件直接跳出不执行任何东西
}

建议你还是先把C语言看熟把,书上都写的很清楚。

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<stdio.h>
  int 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");
  }
  }
  例二:
  #include<stdio.h>
  int 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;
  }
  }
  例三:
  输入年月日,判断这一天是这一年的第几天。
  #include<stdio.h>
  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天。\n",year,month,date,days);
  }
希望对你有帮助。

这个是多分支时用到的
如果问题是有多个互拆的条件时,那么用这个最好
和多个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:

}

扩展阅读:c语言switch case语句嵌套 ... c语言switch case用法 ... switch语句怎么画流程图 ... switch case default ... switch case成绩等级c语言 ... 用switch语句判断学生成绩 ... 成绩转换c语言switch ... c语言中switch case的意思 ... c语言switch语句输出成绩 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网