ANSI C基礎知識
內容:if語句
申明:該系列文檔僅供個人學習使用,轉載請註明出處©
if語句用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定操作是否執行。
if(表達式)操作語句1 else 操作語句2
當表達式為真,只執行操作語句1;表達式為假,只執行操作語句2。
如以下示例程序
if( a > 20 )printf("a 大於 20 \r\n" );如以下示例程序,操作包括多條語句,注意要把它們放在{}中。
if( 30> a > 20 ){printf("a 大於 20 \r\n");printf("a 小於 30 \r\n");}關係運算符
C語言中提供了6種關係運算符,用於關係表達式:
①<(小於)
②<=(小於或等於)
③>(大於)
④>=(大於或等於)
⑤==(等於)
⑥!=(不等於)
關係表達式中可以包括多個關係運算符,注意它們的執行有優先次序:上面①②③④優先級別相同,⑤⑥優先級別相同,前面4種高於後面兩種。優先級高的先執行,相同優先級的從左至右執行。
還有,關係運算符優先級低於算術運算符;高於賦值運算符(=)。
邏輯運算符
C語言中提供了3種邏輯運算符,用於邏輯表達式:
①&&(邏輯與)
②||(邏輯或)
③!(邏輯非)
邏輯運算的真值表:
邏輯表達式中可以包括多個邏輯運算符,上面①②優先級別相同,低於後面!邏輯非。與其它運算符優先級關係,如圖:
但是ANSI C(C89)並沒有定義布爾類型,即邏輯型數據。
在WINCC C腳本中,可直接用大寫BOOL來聲明布爾類型,TRUE表示真(1),FALSE表示假(0),不用再預定義。對應於「二進位變量」。
在邏輯表達式中參加邏輯運算的對象(操作數)可以是0(假)或任何非0的數值(如字符型、實型、指針型等),這些非0的數值按「真」對待。如1&&8、-1&&8、'c'&&'d'的結果為真。
if語句的3種形式
C語言提供了3種形式的if語句
①if(表達式)語句
②if(表達式)語句1 else 語句2
if( x>y)printf("%d",x);elseprintf("%d",y);③if(表達式1)語句1
else if(表達式2)語句2
else if(表達式3)語句3
┇
else if(表達式m)語句m
else 語句n
if( x>100)y=100;else if( x>80)y=80;else if( x>50)y=50;else if( x>20)y=20;elsey=0;
來根banana~