C語言switch語句和if用法介紹

2022-09-21 08:30:08 字數 2528 閱讀 7551

目錄

我們先了解switch是什麼,翻譯過來的中文意思是開關,在c語言中是指選擇不同的開關即不同的分支來完成語句。接下來講一下switch的結構和基本使用。

一般的switch語句的結構

switch(n)//當然我們一般也喜歡用{}來包括case後面得語句和break

即case 常量/表示式:

switch語句是從case進,break出,case後面只能跟常量或者常量表示式,n是乙個變數,與if不同的是,if是判斷表達值是真或假,而switch判斷的是變數中儲存的值具體是多少,然後根據這個值尋找對應的case,當所有的case均無法進入時會進入default這個最後的入口。switch的使用情況一般就是選單使用和成績表等的等級劃分等。選單使用相信大家能夠理解,n為不同的值的時候我們會進行不同的操作,那麼成績表的等級劃分是什麼情況呢?

如果你要把九十分以上的人認作是優秀,八十分以上定義成良好

七十分以上為,中等六十以上不及格,六十以下不及格

你該怎麼設計程式根據乙個人的分數列印他的等級呢?

或許你會選擇這樣的一串**

if(n>=90)

printf("優秀");

else if(n>=80)

printf("良好");

else if(n>=70)

printf("中等");

else if(n>=60)

printf("及格");

else

printf("不及格");

這個**可以清晰的表示你的意思,這樣分支**會有點搓

而switch十分適合這種,這個時候肯定會有朋友們疑惑,

case後面只能跟乙個具體的常量,不能跟乙個範圍,那麼乙個乙個

的寫 case 100

case 99

case 98..

case 0

但並不是這樣實現的,一般就行等級規劃的時候都是有乙個共同的特點

我們既可以根據這個特點來設計switch

switch(n/10)//具體的**實現就寫到這,主要是分享思路

前面只是**了switch,接下來看兩張幫助你深入了解switch,並認清switch和if的區別

第一次畫圖,可能畫的有點難看,希望見諒

看完這兩張圖後,我們來深入了解switch

了解了switch的具體結構及其與if的區別,接下來講一下如何靈活的運用switch,或者在試題中如何

分析答案

高階的switch使用,其實就兩個要點,靈活利用break和合理對case進行適當的排序

比如剛剛的成績劃分程式,100分和九十多分是一樣的,我們可以進行這樣的簡化

case 10:

case 9:

printf("優秀");

break;

其實這種情況非常的簡單,大家實際遇到或者運用的時候或許會複雜很多

但是只要找到程式的特點,並且記住switch的結構以及牢記到達出口的條件,

大家就可以很輕鬆的分析程式,並且在慢慢的積累中熟練的掌握。

swiwww.cppcns.comtch同樣也可以巢狀,看著或許複雜,但在培養了一定的程式的思維之後並不難理解,接下來用這個**來幫助大家簡單的理解switch的巢狀使用。

這段**可用於判斷科舉時進士的前三甲

#include

int main()

break;

case 1: //n/30等於1為30-59名

switch (n)

break;

case 2://60-89名,進入下一層switch

switch (n)

break;

default:

printf("很遺憾你落榜了");

}return 0;

}default因為是最後的入口,所以可以省略break

但在還未靈活使用break和case時建議不要省略break

迴圈簡單來說就是,重複反覆的進行一些同樣的操作,這個時候為了節省**量,提高**的美觀性時,我們會用迴圈語www.cppcns.com句來包裝那些重複的語句,而迴圈語句中不斷執行的語句被稱為迴圈體。

下面大家可以根據這個簡單的圖來理解迴圈

這只是其中的一種迴圈,為了達到美好的生活,我們不停的學習,敲**,買彩票,直到拿到工作或者彩票中大獎,希望大家看完之後能簡單理解迴圈。

在switch中,break是乙個傳送門,直接帶我們走到出口,在迴圈中也是同樣的,break會打破最近的一層迴圈,作為乙個傳送門帶我們達到美好新生活而不需要判斷是否中獎或者是否有offer

continue在迴圈中的作用是結束這次迴圈開始下一次迴圈,我更喜歡稱它為閃現,那什麼叫結束本次迴圈呢,比如我們在學習後加上乙個continue,我們就不需要再敲**和買彩票了,但和break不同,它還需要進行下一次迴圈,走出迴圈的條件只有兩個就是不符合判定迴圈條件和break打破迴圈,當遇到continue時程式會直接結束本次迴圈,然後到達迴圈判定條件處來進行判定,以判斷是否要進行下一次迴圈,並不能直接送你到達出口。

本文標題: c語言switch語句和if用法介紹

本文位址: /ruanjian/c/446132.html

C語言switch語句

switch語句 switch 表示式 case 常量表示式 1 語句1 case 常量表示式 2 語句2 case 常量表示式 n 語句n default 語句 n 1 說明 1 switch後面括號內的表示式,其值可以使整形 字元型 列舉型資料 2 應該在執行乙個case 分支後,使流程跳出 s...

C語言switch語句

既然有了if else 組合為什麼還需要switch case 組合呢?那你既然有了菜刀為什麼還需要水果刀呢?你總不能扛著雲長的青龍偃月刀 又名冷豔鋸 去削蘋果吧。如果你真能做到,關二爺也會佩服你的。if else 一般表示兩個分支或是巢狀表示少量的分支,但如果分支很多的話 還是用switch ca...

C語言 條件語句 switch語句

用於直接處理不同情況下的多路問題。switch語句又可稱為開關語句,其執行流程和多分支if語句類似。switch 表示式 當switch後面的 表示式 的值與某個case後的 常量表示式 的值相同時,就執行該case後面的語句 組 當遇到break語句時,跳出switch語句,轉向執行switch結...