C語言中的的if語句共有多少種格式
3種形式
1、 第一種形式為基本形式:if
if(表達式) 語句
其語義是:如果表達式的值為真,則執行其后的語句,否則不執行該語句。
2、第二種形式為: if-else
if(表達式) 語句1;else 語句2;
其語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。
3、第三種形式為if-else-if形式
前二種形式的if語句一般都用于兩個分支的情況。當有多個分支選擇時,可采用if-else-if語句,
一般形式為: if(表達式1) 語句1; else if(表達式2) 語句2; else if(表達式3) 語句3;…
else if(表達式m) 語句m; else 語句n;
其語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然后跳到整個if
句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然后繼續執行后續程序。
擴展資料
在使用if語句中還應注意以下問題:
在三種形式的if語句中,在if關鍵字之后均為表達式。
該表達式通常是邏輯表達式或關系表達式,但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變量。例如: if(a=5) 語句; if(b) 語句;
都是允許的。只要表達式的值為非0,即為“真”。如在: if(a=5)…;中表達式的值永遠為非0,所以其后的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
參考資料
搜狗百科-if語句
C語言中if語句的三種形式到底是怎樣的
1)簡化形式
if(表達式) 語句塊
如: if(x>y) printf(“%d”,x);
2)一般形式
if (表達式)
語句塊1
else
語句塊2
例如:
if (x>y)
printf(“max=%d”,x);
else
printf(“max=%d”,y);
3)嵌套形式
含義:一條if語句重又包含另一個if語句稱為if語句的嵌套.
格式:
if( )
if( ) 語句塊1
else 語句塊2
else
if( ) 語句塊3
else 語句塊4
例如:
if (score>90)
printf(“very good”);
else
if(score>80)
printf(“good”);
else
if(score>60)
printf(“ok”);
else
printf(“bad”);
如果語句塊包含多個語句,用{}就行了
例如:
if(n>0)
{
printf("%d",n);
printf("是正數\n");
}
選擇分支結構中的if語句有幾種形式
sw
it
ch(變量名或變量表達式){
case 1:。;
case 2:。;
case 3:。;
.
.
.
case n:。;
default:。;
}
上面的case后跟的數不一定是1~n,只要是確定的數就可以,與上面switch括號內的變量對應,相當于if(變量==數),如果是需要只輸出case后的一句需要在每一個case后加一個break。
2
if語句在用分支的時候,自由性大點,條件 可以寫一個范圍也可也是一個表達式
而switch則是一些應用比較中規中矩的類型。然而在一些判斷中則可以互相替代之
C語言中if連用的語句形式與if,else if (連用)的語句形式有什么區別 -
else if的 當第一個判斷滿足時,不會執行else的內容
而if連用,無論上一個是否成立,都會執行后續每個。
比如
int a = 10;
if(a >100)
;//1
else if(a>5)
; //2
if(a >100)
;//3
if(a>5)
; //4對于a = 10的情況,二者沒有區別。
都是執行2 和4部分
而如果a=101
那么對于上面的,只會執行1
而下面的,每個都會走到,會執行3和4
說一說條件語句有哪幾種形式
腳本的威力體現在它們可以根據人們給出的各種條件做出決策,javascript使用條件語句來做判斷
條件語句(conditianal statement)通過判斷表達式的值來決定執行還是跳過某些語句,包括if語句和switch語句
【if語句】
最常見的條件語句是if語句。if語句的條件必須放在if后面的圓括號內,條件的求值結果永遠是一個布爾值,即只能是true或false。花括號中的語句,不管它們有多少條,只有在給定條件的求值結果是true的情況下才會執行
【switch語句】
當所有的分支都依賴于同一個表達式的值時,else if并不是最佳解決方案。在這種情況下,重復計算多條if語句中的條件表達式是非常浪費的做法,而switch語句正適合處理這種情況。
switch語句執行一個多路分支,首先計算expression的值,然后查找case子句的表達式是否和expression的值相同。如果找到匹配的case,那么將會執行這個case對應的代碼塊。如果找不到匹配的case,那么將會執行default標簽中的代碼塊。如果沒有default標簽,switch語句將跳過它的所有代碼塊