- N +

c語言中switch語句(c語言中switch用法舉例)

大家好,如果您還對c語言中switch語句不太了解,沒有關系,今天就由本站為大家分享c語言中switch語句的知識,包括c語言中switch用法舉例的問題都會給大家分析到,還望可以解決大家的問題,下面我們就開始吧!

c語言怎么使用switch語句

方法/步驟

第一首先創建一個c語言項目。

然后在導入需要的頭文件。

第二然后寫入頭文件stdio.h。

再寫入mian主函數。

第三然后定義一個int類型的i變量。

再輸出該該變量的值。

第四然后接受i變量的數值。

代碼為scanf("%d",&i)。

第五然后寫入多幾個除mian主函數以外的函數。

在這些函數中,輸出內容。

第六然后利用switch語句接受i變量。

再進行判斷和跳轉到其他函數中,執行函數的內容。

這樣switch語句的功能可以體現出來了。

在c語言中switch語句主要就是用于判斷和跳轉頁面的語句,所以今天就來為大家介紹c語言怎么使用switch語句。

c語言中switch語句里的break加與不加有什么關系

case后面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即“只是開始執行處的入口標號”。

因此,一旦與switch后面圓括號中表達式的值匹配,就從此標號處開始執行;而且執行完一個case后面的語句后,若沒遇到break語句,就自動進入下一個case繼續執行,而不再判斷是否與之匹配,直到遇到break語句才停止執行,退出switch語句。

因此,若想執行一個case分之后立即跳出switch語句,就必須在此分支的最后添加一個break語句。

在switch(表達式)語句中

C標準定義:switch語句后面的表達式可以是整型,字符型,枚舉型因為byte能夠無損的轉換為int,但是如果是long類型,轉換會有丟失,所以不行

c語言switch選擇結構的特點

switch語句屬于選擇語句,其表達形式就像一個選擇結構,大體的格式如下:

switch(表達式){//short、int、char

case取值1:

執行語句1;

break;case取值2:

執行語句2;break;......default:

默認執行語句;break;}

語法結構解讀:

1、其中的“表達式”的結果以及case后的“取值”只能是3種類型:short、int和char;

2、兩種結束switch語句的情況

1)遇到break,直接跳出選擇;

2)執行到switch語句結束;

3、default語句不論放在哪個地方,它都是在沒有匹配的情況下才會去執行,也就是說case無論在什么情況下都會比default先執行;

4、程序會按照順序執行case的匹配,如果匹配的case語句或者default語句后沒有對應的break來終止,那么程序還會繼續向下執行匹配,執行匹配到的表達式,直到遇到brak或switch語句結束。

5、如果所有的case都沒有匹配,則執行default里面默認的表達式

老師說,C語言中的switch和if語句是等價的,能舉例子說說嗎要注意什么嗎

謝邀。

嚴格來說,C語言中的switch語句和if語句并不總是完全等價,使用switch語句實際上是有一定限制的。

下文將舉例子解釋

相信題主已經對if/else以及布爾代數有了比較深入的認識,可以對現實世界中的復雜問題,分情況處理了。事實上,在C語言中,還有一種分支語句,就是switch語句,在介紹它之前,先來考慮這個問題:

輸入1-7七個數,程序要對應著分別打印出Monday-Sunday(星期一到星期天)。

這樣的問題,用if/else語句非常容易解決,請看如下代碼:

以上代碼很好的解決了問題,不過使用C語言中的switch語句也是能夠非常簡單的解決問題,switch語句可以產生具有多個分支的控制流程,它的格式是:

知道了C語言switch語句的格式后,使用它重寫上述代碼就簡單了,請看:

上面的例子我們傳給print_day的參數是2,所以從“情況2”(case2)處開始執行,然后打印“Tuesday”,接著break。break是C語言中的關鍵字,它的作用是挑出整個switch語句塊。C語言規定各case的常量表達式必須互不相同,各case均不等于常量表達式,則進入default分支。

使用switch語句要注意幾點case后面跟的必須是常量表達式,因為這個值必須在編譯時計算出來。case后面跟的常量表達式的值必須是整型,因為浮點型是不能精確比較相等不相等的,整型或字符型則可以,這是由不同類型數據的存儲方式決定的。進入case后如果沒有遇到break語句就會一直往下執行,后面其它case或default下面的語句也會被執行到,直到遇到break,或者執行到整個switch語句塊的末尾。

通常每個case后面都要加上break語句,但有時候故意不加break來利用這個特性,例如:

這樣一來,輸入1-5都會輸出“Weekday”(工作日),輸入6、7則會輸出“Weekend”(周末)。

switch語句不是必不可缺的,顯然可以用一組if..elseif…elseif…else代替,但是一方面用switch語句會使代碼更清晰,另一方面,有時候編譯器會對switch語句進行整體優化,使它比等價的if/else語句所生成的目標代碼效率更高。

另外,由于switch語句的case后要求是常數,限制了其使用范圍,所以要用其替換

if...else

語句,需要保證if的條件是常數表達式。如果條件表達式很難寫成常數表達式,switch語句就很難使用了。

不過工具是死的,人是活的,switch語句和if語句各有優缺點,只要掌握了,我們應該總是能夠根據實際條件靈活的寫代碼的。

歡迎在評論區一起討論,質疑。文章都是手打原創,每天最淺顯的介紹C語言、linux等嵌入式開發,喜歡我的文章就關注一波吧,可以看到最新更新和之前的文章哦。

OK,關于c語言中switch語句和c語言中switch用法舉例的內容到此結束了,希望對大家有所幫助。

返回列表
上一篇:
下一篇: