关于c语言switch语句的用法 C语言:switch语句用法
\u6c42\u6559c\u8bed\u8a00\u4e2dswitch \u8bed\u53e5\u7684\u8be6\u7ec6\u7528\u6cd5switch \u662f\u4e00\u4e2a\u5f00\u5173\u8bed\u53e5\uff0c\u548ccase\u914d\u5957\u4f7f\u7528\uff0c \u548cif else \u5224\u65ad\u8bed\u53e5\u5dee\u4e0d\u591a\uff0c switch \u8bed\u53e5\u662f\u7528\u4e8e\u591a\u5206\u652f\u8bed\u53e5\u8fdb\u884c\u6761\u4ef6\u5224\u65ad\uff0c\u6bd4\u5982\uff1a
i++;
switch (i)
{
case 1 : P1 = 0xFE; //i =1; \u6267\u884cP1 = 0XFE;
breK; //\u6267\u884c\u5b8c\u6210\u540e\u8df3\u51fa
case 2 : P1 = 0xFD; //i =2; \u6267\u884cP1 = 0XFD;
break;
case 3 : P1 = 0xFB; //i =3; \u6267\u884cP1 = 0XFB;
break;
case 4 : P1 = 0xF7 //i =4; \u6267\u884cP1 = 0X7E;
break;
..........................................................................
default: break; //\u5982\u679ci \u4e0d\u7b26\u5408\u4ee5\u4e0a\u6761\u4ef6\u76f4\u63a5\u8df3\u51fa\u4e0d\u6267\u884c\u4efb\u4f55\u4e1c\u897f
}
\u5efa\u8bae\u4f60\u8fd8\u662f\u5148\u628aC\u8bed\u8a00\u770b\u719f\u628a\uff0c\u4e66\u4e0a\u90fd\u5199\u7684\u5f88\u6e05\u695a\u3002
\u6267\u884c\u8fc7\u7a0b\uff1a\u5148\u8ba1\u7b97\u5e76\u83b7\u5f97switch\u540e\u9762\u5c0f\u62ec\u53f7\u91cc\u7684\u8868\u8fbe\u5f0f\u6216\u53d8\u91cf\u503c\uff0c\u7136\u540e\u5c06\u8ba1\u7b97\u7ed3\u679c\u987a\u5e8f\u4e0e\u6bcf\u4e2acase\u540e\u7684\u5e38\u91cf\u6bd4\u8f83\u3002
\u5f53\u4e8c\u8005\u76f8\u7b49\u65f6\uff0c\u6267\u884c\u4e2acase\u5757\u4e2d\u7684\u4ee3\u7801\uff0c\u5f53\u9047\u5230break\u65f6\uff0c\u5c31\u8df3\u51faswitch\u9009\u62e9\u7ed3\u6784\uff0c\u6267\u884cswitch\u9009\u62e9\u7ed3\u6784\u4e4b\u540e\u7684\u4ee3\u7801\u3002
\u5982\u679c\u4efb\u4f55\u4e00\u4e2acase\u4e4b\u540e\u7684\u5e38\u91cf\u4e0eswitch\u540e\u7684\u5c0f\u62ec\u53f7\u4e2d\u7684\u503c\u76f8\u7b49\uff0c\u5219\u6267\u884cswitch\u5c3e\u90e8\u7684default\u5757\u4e2d\u4ee3\u7801\u3002
因为你没加break
#include <stdio.h>
int main()
{
int k;
scanf("%d",&k);
switch(k)
{
case 1:
printf("%d
",k++);
break;
case 2:
printf("%d
",k++);
break;
case 3:
printf("%d
",k++);
break;
case 4:
printf("%d
",k++);
break;
default:
printf("FULL!
");
break;
}
return 0;
}
你忘了在每个 case 块之后加上 break... 如
#include <stdio.h>
int main()
{
int k;
scanf("%d",&k);
switch(k)
{
case 1:
printf("%d
",k++);
break;
case 2:
printf("%d
",k++);
break;
case 3:
printf("%d
",k++);
break;
case 4:
printf("%d
",k++);
break;
default:
printf("FULL!
");
}
}
在每个case语句后加上break语句(即在每个printf语句后加上一句break;),执行break后直接跳出switch。这样就只输出一个了
在每个printf();语句后面加break;
绛旓細c璇█switch鐢ㄤ簬鏍规嵁琛ㄨ揪寮忕殑鍊硷紝閫夋嫨鎵ц鐩稿簲鐨勮鍙ュ簭鍒銆俢璇█switch鐨勭敤娉曞寘鎷細1銆乻witch锛堣〃杈惧紡锛夈傚叾涓紝琛ㄨ揪寮忛氬父鏄暣鍨嬫垨瀛楃鍨嬪彉閲忋2銆乧ase甯搁噺琛ㄨ揪寮忋俠reak銆俢ase璇彞鐢ㄤ簬鎸囧畾褰撹〃杈惧紡鐨勫间笌鏌愪釜甯搁噺琛ㄨ揪寮忕殑鍊肩浉绛夋椂锛屾墽琛岃case鍚庨潰鐨勮鍙ャ傚鏋滄病鏈塨reak璇彞锛岀▼搴忎細缁х画鎵ц涓嬩竴涓猚ase鐨勮鍙ャ
绛旓細switch璇彞鍦–璇█涓敤浜庡熀浜庝笉鍚岀殑鎯呭喌鎵ц涓嶅悓鐨勪唬鐮佸潡銆傚叾鍩烘湰鏍煎紡濡備笅锛歝 switch { case constant1:// 浠g爜鍧1 break;case constant2:// 浠g爜鍧2 break;// 鍙互鏈夊涓猚ase璇彞 ...default: // 鍙夌殑锛屽綋娌℃湁浠讳綍case鐨別xpression鍊煎尮閰嶆椂浣跨敤 // 榛樿浠g爜鍧 } 鍏朵腑锛宔xpression鏄竴涓〃杈...
绛旓細1銆佸湪switch璇彞鐨勬瘡涓鍙ユ涓兘浣跨敤break璇彞銆傛湁default鏃讹紝濡傛灉琛ㄨ揪寮忕殑鍊间笌浠讳綍涓涓父閲忚〃杈惧紡鐨勫奸兘涓嶆兂绛夛紝鍒欐墽琛宒efault鍚庨潰鐨勮鍙ユ銆傚鏋滅渷鐣ヤ簡default锛岄偅涔堝綋琛ㄨ揪寮忕殑鍊间笌浠讳綍涓涓父閲忚〃杈惧紡鐨勫奸兘涓嶇浉绛夋椂锛屽氨浠涔堥兘涓嶆墽琛屻2銆佸湪switch璇彞涓笉浣跨敤break璇彞銆傚湪杩欑鎯呭喌涓嬶紝濡傛灉琛ㄨ揪寮忕殑鍊间笌鏌...
绛旓細c璇█switch鐨勭敤娉曞氨鏄牴鎹〃杈惧紡鐨勫硷紝閫夋嫨鎵ц鐩稿簲鐨勮鍙ュ簭鍒銆侰璇█涓紝switch璇彞鏄竴绉嶅父鐢ㄧ殑娴佺▼鎺у埗璇彞銆傚畠鐨勪綔鐢ㄦ槸鏍规嵁涓涓〃杈惧紡鐨勫硷紝鍒ゆ柇鍏舵槸鍚︾瓑浜庝竴绯诲垪甯搁噺鍊间腑鐨勪换鎰忎竴涓紝骞舵墽琛岀浉搴旂殑浠g爜鍧椼傚叾涓紝expression琛ㄧず瑕佽娴嬭瘯鐨勮〃杈惧紡锛屽彲浠ユ槸浠讳綍鏁存暟绫诲瀷锛坈har銆乻hort銆乮nt銆乴ong锛夋垨鏋氫妇绫诲瀷...
绛旓細1銆丼WITCH璇彞鐨勫瓧闈㈡剰鎬濇槸寮鍏筹紝鏄敤鏉ヨ繘琛屽閲嶉夋嫨銆傚叿浣撶殑鐢ㄦ硶棣栧厛鎵撳紑C-Free5.0杞欢锛岀劧鍚庢柊寤轰竴涓悕涓簊witch.c鏂囦欢锛岀劧鍚庡湪寮曞叆澶存枃浠跺拰main涓诲嚱鏁帮細2銆侀鍏堝畾涔変竴涓暣鍨嬫暟鍊硷紝鐒跺悗浠庡闈㈠啓鍏ヨ繖涓硷紝杩欓噷鐢ㄥ埌鐨剆canf鍑芥暟灏辨槸浠庡闈㈣鍏ヤ竴涓肩粰a锛岀劧鍚庤繍琛屼竴涓嬶紝杈撳叆涓涓暟楠岃瘉锛3銆佹帴鐫鐢╯witch...
绛旓細鍦C璇█涓紝switch璇彞鏄紑鍏宠鍙ワ紝涓鑸笌case銆乥reak銆乨efault閰嶅悎浣跨敤锛屽娴佺▼杩涜鎺у埗銆俿witch浣滀负涓涓紑鍏筹紝褰撳彉閲忚〃杈惧紡鐨勫煎搴攃ase涓殑鍊兼椂锛屾墽琛宑ase鍚庨潰鐨勮鍙ュ悗璺冲嚭switch璇彞锛屽鏋滈兘涓嶇鍚堝垯鎵цdefault鍚庨潰鐨勮鍙ュ悗璺冲嚭switch璇彞銆俿witch璇彞鐢ㄦ硶瑙勫垯锛1.鍦ㄤ竴涓猻witch涓彲浠ユ湁浠绘剰鏁伴噺鐨刢ase璇彞銆
绛旓細c璇█switch鐨鐢ㄦ硶濡備笅锛1銆佸湪涓涓 switch 涓彲浠ユ湁浠绘剰鏁伴噺鐨 case 璇彞銆傛瘡涓 case 鍚庤窡涓涓姣旇緝鐨勫煎拰涓涓啋鍙枫2銆乧ase 鍚庣殑 绫诲瀷 蹇呴』涓 switch 涓殑鍙橀噺鍏锋湁鐩稿悓鐨勬暟鎹被鍨嬶紝涓斿繀椤绘槸涓涓父閲忔垨瀛楅潰閲忋3銆佸綋琚祴璇曠殑鍙橀噺绛変簬 case 涓殑甯搁噺鏃讹紝case 鍚庤窡鐨勮鍙ュ皢琚墽琛岋紝鐩村埌閬囧埌 break ...
绛旓細1銆c璇█switch鐨鐢ㄦ硶鏄愪釜涓庡叾鍚庣殑甯搁噺琛ㄨ揪寮忓肩浉姣旇緝锛屽綋琛ㄨ揪寮忕殑鍊间笌鏌愪釜甯搁噺琛ㄨ揪寮忕殑鍊肩浉绛夋椂锛屽嵆鎵ц鍏跺悗鐨璇彞锛岀劧鍚庝笉鍐嶈繘琛屽垽鏂紝缁х画鎵ц鍚庨潰鎵鏈塩ase鍚庣殑璇彞銆2銆佸琛ㄨ揪寮忕殑鍊间笌鎵鏈塩ase鍚庣殑甯搁噺琛ㄨ揪寮忓潎涓嶇浉鍚屾椂锛屽垯鎵цdefault鍚庣殑璇彞銆
绛旓細C璇█鐢╯witch璇彞杩涜鎴愮哗绛夌骇鍒ゆ柇鍙互閲囩敤浠ヤ笅鐨勪唬鐮侊細main(){int i,a;scanf("%d",&a);i=a/10;switch a {case '10':case '9': printf("A"); break;case '8': printf("B"); break;case '7': printf("C"); break;case '6': printf("D");else printf("E");} } ...
绛旓細鎵ц杩囩▼锛氬厛璁$畻骞惰幏寰switch鍚庨潰灏忔嫭鍙烽噷鐨勮〃杈惧紡鎴栧彉閲忓硷紝鐒跺悗灏嗚绠楃粨鏋滈『搴忎笌姣忎釜case鍚庣殑甯搁噺姣旇緝銆傚綋浜岃呯浉绛夋椂锛屾墽琛屼釜case鍧椾腑鐨勪唬鐮侊紝褰撻亣鍒癰reak鏃讹紝灏辫烦鍑簊witch閫夋嫨缁撴瀯锛屾墽琛宻witch閫夋嫨缁撴瀯涔嬪悗鐨勪唬鐮併傚鏋滀换浣曚竴涓猚ase涔嬪悗鐨勫父閲忎笌switch鍚庣殑灏忔嫭鍙蜂腑鐨勫肩浉绛夛紝鍒欐墽琛宻witch灏鹃儴鐨刣efault鍧椾腑...