c語言提供了三種形式的if語句:
創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站推廣、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為VR全景等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
1、if(表達(dá)式)語句。
例如:if(xy)printf("%d",x);
此時(shí),如果表達(dá)式為真,則執(zhí)行printf語句。
2、if(表達(dá)式)語句1 else 語句2
例如:
if(xy)printf("%d",x);
else?printf("%d",y);
此時(shí),如果xy成立為真,則執(zhí)行語句printf("%d",x),然后直接跳過else,同時(shí)也跳過語句printf("%d",y),去執(zhí)行之后的語句。
如果xy不成立為假,則不執(zhí)行語句printf("%d",x),執(zhí)行語句printf("%d",x)。
3、if(表達(dá)式1)語句1
else if(表達(dá)式2)語句2
else if(表達(dá)式3)語句3
else if(表達(dá)式m)語句m
else 語句 n
此時(shí),哪個(gè)表達(dá)式為真,則運(yùn)行哪個(gè)if后面的語句。如表達(dá)式3成立為真,執(zhí)行語句3。
在每個(gè)語句中,可以有多個(gè)語句,但需要加上大括號(hào)
例:if(xy){printf("%d",x);break;}
IF函數(shù)的參數(shù):
(1)Logical_test 表示計(jì)算結(jié)果為 TRUE 或 FALSE 的任意值或表達(dá)式。
例如,A10=100 就是一個(gè)邏輯表達(dá)式,如果單元格 A10 中的值等于 100,表達(dá)式即為 TRUE,否則為 FALSE。本參數(shù)可使用任何比較運(yùn)算符(=(等于)、(大于)、=(大于等于)、=(小于等于等運(yùn)算符))。
(2)Value_if_true表示 logical_test 為 TRUE 時(shí)返回的值。
例如,如果本參數(shù)為文本字符串“預(yù)算內(nèi)”而且
logical_test 參數(shù)值為 TRUE,則 IF 函數(shù)將顯示文本“預(yù)算內(nèi)”。如果 logical_test 為 TRUE 而
value_if_true 為空,則本參數(shù)返回 0。
(3)Value_if_false表示 logical_test 為 FALSE 時(shí)返回的值。
例如,如果本參數(shù)為文本字符串“超出預(yù)算”而且
logical_test 參數(shù)值為 FALSE,則 IF 函數(shù)將顯示文本“超出預(yù)算”。如果 logical_test 為 FALSE 且忽略了
value_if_false(即 value_if_true 后沒有逗號(hào))。
if語句的一般形式如下:
if(表達(dá)式)語句1
[else語句2]
if語句中的“表達(dá)式”可以是關(guān)系表達(dá)式、邏輯表達(dá)式,甚至是數(shù)值表達(dá)式。其中最直觀、最容易理解的是關(guān)系表達(dá)式。所謂關(guān)系表達(dá)式就是兩個(gè)數(shù)值進(jìn)行比較的式子。
例如:
if(xy)
printf("%d",x);
else
printf("%d",y);
擴(kuò)展資料
if-else語句引入了一種二義性問題稱為空懸else(dangling-else)問題,這種問題出現(xiàn)在當(dāng)if子句多于else子句時(shí)。問題是這些else子句分別和哪一個(gè)if子句匹配。
例如:
if(minVal=ivec[i])
if(minVal==ivec[i])
++occurs;
else
{
minVal=ivec[i];
occurs=1;
}
IF函數(shù)一般是指Excel中的IF函數(shù),根據(jù)指定的條件來判斷其“真”(TRUE)、“假”(FALSE),根據(jù)邏輯計(jì)算的真假值,從而返回相應(yīng)的內(nèi)容。可以使用函數(shù) IF 對(duì)數(shù)值和公式進(jìn)行條件檢測(cè)。
函數(shù)語法:
IF(logical_test,value_if_true,value_if_false)
Logical_test 表示計(jì)算結(jié)果為 TRUE 或 FALSE 的任意值或表達(dá)式。
例如,A10=100 就是一個(gè)邏輯表達(dá)式,如果單元格 A10 中的值等于 100,表達(dá)式即為 TRUE,否則為 FALSE。本參數(shù)可使用任何比較運(yùn)算符(一個(gè)標(biāo)記或符號(hào),指定表達(dá)式內(nèi)執(zhí)行的計(jì)算的類型。有數(shù)學(xué)、比較、邏輯和引用運(yùn)算符等。)。
Value_if_true logical_test 為 TRUE 時(shí)返回的值。
例如,如果本參數(shù)為文本字符串“預(yù)算內(nèi)”而且 logical_test 參數(shù)值為 TRUE,則 IF 函數(shù)將顯示文本“預(yù)算內(nèi)”。如果 logical_test 為 TRUE 而 value_if_true 為空,則本參數(shù)返回 0(零)。如果要顯示 TRUE,則請(qǐng)為本參數(shù)使用邏輯值 TRUE。value_if_true 也可以是其他公式。
Value_if_false logical_test 為 FALSE 時(shí)返回的值。
例如,如果本參數(shù)為文本字符串“超出預(yù)算”而且 logical_test 參數(shù)值為 FALSE,則 IF 函數(shù)將顯示文本“超出預(yù)算”。如果 logical_test 為 FALSE 且忽略了 value_if_false(即 value_if_true 后沒有逗號(hào)),則會(huì)返回邏輯值 FALSE。如果 logical_test 為 FALSE 且 value_if_false 為空(即 value_if_true 后有逗號(hào),并緊跟著右括號(hào)),則本參數(shù)返回 0(零)。VALUE_if_false 也可以是其他公式。
說明:
·在EXCEL2003中 函數(shù) IF 可以嵌套七層,在EXCEL2007中可以嵌套256層,用 value_if_false 及 value_if_true 參數(shù)可以構(gòu)造復(fù)雜的檢測(cè)條件。
· 在計(jì)算參數(shù) value_if_true 和 value_if_false 后,函數(shù) IF 返回相應(yīng)語句執(zhí)行后的返回值。
· 如果函數(shù) IF 的參數(shù)包含數(shù)組( 用于建立可生成多個(gè)結(jié)果或可對(duì)在行和列中排列的一組參數(shù)進(jìn)行運(yùn)算的單個(gè)公式。數(shù)組區(qū)域共用一個(gè)公式;數(shù)組常量是用作參數(shù)的一組常量),則在執(zhí)行 IF 語句時(shí),數(shù)組中的每一個(gè)元素都將計(jì)算。
· WPS表格 還提供了其他一些函數(shù),可依據(jù)條件來分析數(shù)據(jù)。例如,如果要計(jì)算單元格區(qū)域中某個(gè)文本字符串或數(shù)字出現(xiàn)的次數(shù),則可使用 COUNTIf 工作表函數(shù)。如果要根據(jù)單元格區(qū)域中的某一文本字符串或數(shù)字求和,則可使用 SUMIf 工作表函數(shù)。請(qǐng)了解關(guān)于根據(jù)條件計(jì)算值。
·如果判斷標(biāo)準(zhǔn)有漢字內(nèi)容,則在漢字前后加上英文狀態(tài)下的雙引號(hào)""G2
(例如:IF(G2="成都",400,200))
函數(shù)示例:
1 數(shù)據(jù)
2 50
公式:=IF(A2=100,"Withinbudget","Overbudget")
說明(結(jié)果):如果上面的數(shù)字小于等于100,則公式將顯示“Withinbudget”。否則,公式顯示“Overbudget”。(Withinbudget)
公式:=IF(A2=100,SUM(B5:B15),"")
說明(結(jié)果):如果上面數(shù)字為100,則計(jì)算單元格區(qū)域B5:B15,否則返回空文本("")
這個(gè)是條件編譯命令,表示SPEND為真時(shí),下面的語句才能加入編譯器進(jìn)行編譯,為假時(shí),下面的語句不參與編譯??梢匀サ鬱efined
#if 1 #if defined(SPEND) #if 0 #if defined(SPEND)
#endif和 #endif 當(dāng)SPEND為真時(shí),效果一樣, #endif 和 #endif 當(dāng)SPEND為假時(shí),效果一樣。
比如:
main()
{
char a[]="a參加了編譯";
char b[]="b參加了編譯";
#if defined(M)
printf("%s\n",a);
#endif
printf("%s\n",b);
}
當(dāng)M為真時(shí),編譯器先把代碼變成:
main()
{
char a[]="a參加了編譯";
char b[]="b參加了編譯";
printf("%s\n",a);
printf("%s\n",b);
}
再編;
當(dāng)M為假時(shí),會(huì)變成這樣再編:
main()
{
char a[]="a參加了編譯";
char b[]="b參加了編譯";
printf("%s\n",b);
}