c語言中的選擇語句
A. c語言 switch的用法
switch用在編程中,如C語言中它經常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
C語言程序語句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;
}
(1)c語言中的選擇語句擴展閱讀:
Switch在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
B. c語言中的選擇結構
選擇程序結構用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控製程序的流程。
使用選擇結構語句時,要用條件表達式來描述條件
示例: If x = 5 Then y = x + 1
If a>1 And b<>0 Then x = 1
當然各種程序對選擇結構語法不一樣。例如:
C語言的選擇結構為:
if(條件表達式1)
{語句塊1;}
else if(條件表達式2)
{語句塊2;}
else if(條件表達式3)
{語句塊3;}
.
.
.
else
{語句塊n;}
VB 中的選擇結構為:
If(條件表達式1) then
語句塊1
ElseIf(條件表達式2) then
語句塊2
.
.
.
Else
語句塊n
End If
C語言中switch 語句為:
switch(變數或表達式)
{
case 常量表達式1:
語句塊1
break;
case 常量表達式2:
語句塊2
break;
…….
case 常量表達式n:
語句塊n
break;
default: 語句塊n+1
break;
}
VB語言中Select Case(相當於C的switch)語句為:
Select Case 變數或表達式
Case 表達式列表1
語句塊1
Case 常量表達式2
語句塊2
…….
Case 常量表達式n:
語句塊n
[Case Else
語句塊n+1]
End Select
}
條件表達式可以分為兩類:
關系表達式和邏輯表達式
條件表達式的取值為邏輯值(也稱布爾值):
真(True) 和假(False)
C用非0表示真,0表示假
以下的說明以C為依據:
1-關系運算符和關系表達式
關系運算是比較簡單的一種邏輯運算,
其優先次序為:
<、<= 、>、>= 優先順序相同,高
= = 、 != 優先順序相同,低
用關系運算符連接起來的式子稱為關系表達式。關系表達式的值是真/假。C語言中,非零即為真,零代表假
a=3,b=5,則關系表達式 a>b的值是假,而a<b的值是真
關系運算符
關系運算符是雙目運算符,在雙目運算符中,它的優先順序比賦值運算符要高:
算術運算符高
關系運算符
賦值運算符 低
比如,a=1,b=3
a=b>5 即 a=(b>5) , a+b>5 即 (a+b)>5
而a>b=5則是錯誤的表達式,因為它的實際含義是:(a>b)=5, C語言不允許對表達式賦值!
2-邏輯運算符和邏輯表達式
C語言提供了3個邏輯運算符,其中一個是單目運算符
邏輯表達式也只有兩個值:真和假
C. C語言的switch語句中case後()
選B,case後面只能是整型或字元型的常量或常量表達式。
一、switch是另外一種選擇結構的語句,用來代替簡單的、擁有多個分支的if else 語句,基本格式如下:
switch(表達式){
case 整型數值1: 語句 1;
case 整型數值2: 語句 2;
......
case 整型數值n: 語句 n;
default: 語句 n+1;
}
二、它的執行過程是:
1、首先計算「表達式」的值,假設為 m。
2、 從第一個 case 開始,比較「整型數值1」和 m,如果它們相等,就執行冒號後面的所有語句,也就是從「語句1」一直執行到「語句n+1」,而不管後面的 case 是否匹配成功。
3、如果「整型數值1」和 m 不相等,就跳過冒號後面的「語句1」,繼續比較第二個 case、第三個 case……一旦發現和某個整型數值相等了,就會執行後面所有的語句。假設 m 和「整型數值5」相等,那麼就會從「語句5」一直執行到「語句n+1」。
4、如果直到最後一個「整型數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n+1」。
(3)c語言中的選擇語句擴展閱讀:
1、switch後面括弧內的【表達式】,ANSI標准允許它為任何類型;
2、當表達式的值與某一個case後面的常量表達式的值相等時,就執行此case後面的語句,否則,就執行default後面的語句。
3、每一個case的常量表達式的值必須互不相同,否則就會出現互相矛盾的現象(對表達式的同一個值,有兩種或多種執行方案)。
4、各個case各default的出現次序不影響執行結果。例如,可以先出現"default: ...",再出現"case 'D': ...",然後是"case 'A': ...".
5、執行完一個case後面的語句後,流程式控制制轉移到下一個case繼續執行。"case常量表達式"只是起語句標號作用,並不是在該處進行條件判斷。在執行swith語句時,根據switch後面表達式的值找到匹配的入口標號,就從此標號開始執行下去,不再進行判斷。
D. C語言中分支選擇結構有哪些語句
C語言的分支選擇語句主要有兩個
1、if else語句 ;
2、switch語句。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
(4)c語言中的選擇語句擴展閱讀:
1、具有結構化的控制語句
C語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。
2、豐富的數據類型
C語言包含的數據類型廣泛,不僅包含有傳統的字元型、整型、浮點型、數組類型等數據類型,還具有其他編程語言所不具備的數據類型,其中以指針類型數據使用最為靈活,可以通過編程對各種數據結構進行計算。
3、豐富的運算符
c語言包含34個運算符,它將賦值、括弧等均視作運算符來操作,使C程序的表達式類型和運算符類型均非常豐富。
4、可對物理地址進行直接操作
C語言允許對硬體內存地址進行直接讀寫,以此可以實現匯編語言的主要功能,並可直接操作硬體。c語言不但具備高級語言所具有的良好特性,又包含了許多低級語言的優勢,故在系統軟體編程領域有著廣泛的應用。
參考資料來源:網路-c語言