日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

C語言switch語句詳解_C 語言

作者:Alienware^ ? 更新時間: 2022-03-07 編程語言

switch 分支結(jié)構(gòu)

請?zhí)砑訄D片描述

快速入門

案例: 請編寫一個程序,該程序可以接收一個字符,比如: a,b,c,d,e,f,g a 表示星期一,b 表示星期 二 … 根據(jù)用戶的輸入顯 示相依的信息.要求使用 switch 語句完成

代碼演示

案例: 請編寫一個程序,該程序可以接收一個字符,比如: a,b,c,d,e,f,g a 表示星期一,b 表示星期 二 … 根據(jù)用戶的輸入顯 示相依的信息.要求使用 switch 語句完成

#include<stdio.h>
void main(){
	char c1 = ' ';  
	printf("請輸入一個字符(a,b,c,d)"); 
	scanf("%c", &c1); //switch //表達式: 任何有值都可以看成是一個表達式 
	scanf("%c", &c1);
	switch(c1) { 
	case 'a' : //'a' => 97 
		printf("今天星期一, 猴子穿新衣"); 
		break; //退出 switch 
	case 'b' : 
		printf("今天星期二, 猴子當(dāng)小二"); 
		break;
 	case 'c' : 
		printf("今天星期三, 猴子爬雪山"); 
		break; 
	case 'd' : 
		printf("今天星期四, 猴子有急事"); 
		break; 
	default : //default 是可選擇,不是必須的 
		printf("沒有匹配到任何值~"); 
	}
	printf("\nswitch 結(jié)束~");
}

注意:如果switch 缺少默認值,剛好執(zhí)行的時候 值匹配不上任意一個case,會發(fā)生什么?
答:若沒有匹配的case值,也沒有default語句 ,則跳過switch 語句體 ,什么都不做。

switch 細節(jié)討論

1)switch 語句中的 expression 是一個常量表達式,必須是一個整型(char、short, int, long 等) 或枚舉類型

2)case 子句中的值必須是常量,而不能是變量

3)default 子句是可選的,當(dāng)沒有匹配的 case 時,執(zhí)行 default

4)break 語句用來在執(zhí)行完一個 case 分支后使程序跳出 switch 語句塊;

5)如果沒有寫 break,會執(zhí)行下一個 case 語句塊,直到遇到 break 或者執(zhí)行到 switch 結(jié)尾, 這個現(xiàn)象稱為穿透.

switch 和 if 的比較

1)如果判斷的具體數(shù)值不多,而且符合整型 、枚舉類型。雖然兩個語句都可以使用,建議使用 swtich 語句。

2)其他情況:對區(qū)間判斷,對結(jié)果為 真假 的判斷,使用 if,if 的使用范圍更廣

案例:

對學(xué)生成績大于 60 分的,輸出“合格”。低于 60 分的,輸出“不合格”。(注:輸入的成績不能大于 100)

#include<stdio.h>
void main() {
	double d1 = 0.0; 
	printf("請輸入成績"); 
	scanf("%lf", &d1);
	switch( (int)(d1/60) ) {//即 switch() 括號中,可以是一個復(fù)雜表達式 
	 case 0 : 
	 	printf("不合格");  
		 break; 
	case 1: 
		printf("合格"); 
		break; 
	default : 
		printf("輸入成績有誤"); 
	}
}

總結(jié)

原文鏈接:https://blog.csdn.net/weixin_45417821/article/details/121971672

欄目分類
最近更新