概念
使用選擇結構語句時,要用條件表達式來描述條件
示例:Ifx=5Theny=x+1
Ifa>1Andb<>0Thenx=1
當然各種程序對選擇結構語法不一樣。
案例
例如:
C語言的選擇結構為:
if(條件表達式1)
{語句塊1;}
elseif(條件表達式2)
{語句塊2;}
elseif(條件表達式3)
{語句塊3;}
else
{語句塊n;}
VB中的選擇結構為:
If(條件表達式1)then
語句塊1
ElseIf(條件表達式2)then
語句塊2
Else
語句塊n
EndIf
C語言中switch語句為:
switch(變量或表達式)
case常量表達式1:
語句塊1;
break;
case常量表達式2:
語句塊2;
break;
case常量表達式n:
語句塊n;
break;
default:語句塊n+1
break;
VB語言中SelectCase(相當于C的switch)語句為:
SelectCase變量或表達式
Case表達式列表1
語句塊1
Case常量表達式2
語句塊2
Case常量表達式n:
語句塊n
[CaseElse
語句塊n+1]
EndSelect
條件表達式可以分為兩類:
關系表達式和邏輯表達式
條件表達式的取值為邏輯值(也稱布爾值):
真(True)和假(False)
C用非0表示真,0表示假
以下的說明以C為依據:
1-關系運算符和關系表達式
關系運算是比較簡單的一種邏輯運算,
其優先次序為:
<、<=、>、>=優先級相同,高
==、!=優先級相同,低
用關系運算符連接起來的式子稱為關系表達式。關系表達式的值是真/假。C語言中,非零即為真,零代表假
a=3,b=5,則關系表達式a>b的值是假,而a
關系運算符
關系運算符是雙目運算符,在雙目運算符中,它的優先級比賦值運算符要高:
算術運算符高
關系運算符
賦值運算符低
比如,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個邏輯運算符,其中一個是單目運算符
邏輯表達式也隻有兩個值:真和假
條件
Shell中的選擇結構(分支結構)有兩種形式,分别是ifelse和casein語句,它們都根據命令的退出狀态來判斷條件是否成立。n了解C++、C#、Java、Python等其他編程語言的讀者可能會覺得Shell中的判斷條件比較奇怪,所以還需要慢慢适應。