if語句的一般形式如下:
成都創(chuàng)新互聯(lián)公司是專業(yè)的克拉瑪依網(wǎng)站建設(shè)公司,克拉瑪依接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行克拉瑪依網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
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;
}
依次判斷,依次執(zhí)行。
比如:
if()
{ }
if()
{ }
會(huì)依次判斷條件來決定是否執(zhí)行。
例如:
if(/*判斷條件*/)
{
if(/*判斷條件*/)
cout"這是嵌套if語句";
}
if(/*判斷條件*/)? ? cout"這是第一條if語句";//這時(shí)候分號(hào)在cout的后面
if(/*判斷條件*/)? ? cout"這是第二條if語句";//這時(shí)候分號(hào)在cout的后面
if語句的語法如下所示(if和else是C#的關(guān)鍵字):
if(booleanExpression)
statement-1;
else
statement-2;
如果booleanExpression(布爾表達(dá)式)求值為true,就運(yùn)行statement-1;否則運(yùn)行statement-2。else關(guān)鍵字和后續(xù)的statement-2是可選的。如果沒有else子句,而且booleanExpression求值為false,那么什么也不會(huì)發(fā)生,程序繼續(xù)執(zhí)行if語句之后的代碼。注意,布爾表達(dá)式必須放在圓括號(hào)中,否則無法編譯。
以上內(nèi)容參考:百度百科-if語句
1.if語句的一般格式
if(表達(dá)式)
{語句組1;}
[else
{語句組2;} ]
(1)if語句中的“表達(dá)式”必須用“(”和“)”括起來。
(2)else子句(可選)是if語句的一部分,必須與if配對(duì)使用,不能單獨(dú)使用。
(3)當(dāng)if和else下面的語句組,僅由一條語句構(gòu)成時(shí),也可不使用復(fù)合語句形式(即去掉花括號(hào))。
2.if語句的執(zhí)行過程
(1)缺省else子句時(shí)
當(dāng)“表達(dá)式”的值不等于0(即判定為“邏輯真”)時(shí),則執(zhí)行語句組1,否則直接轉(zhuǎn)向執(zhí)行下一條。
(2)指定else子句時(shí)
當(dāng)“表達(dá)式”的值不等于0(即判定為“邏輯真”)時(shí),則執(zhí)行語句組1,然后轉(zhuǎn)向下一條語句;否則,執(zhí)行語句組2。如圖4-1(b)所示。
3.if語句的嵌套與嵌套匹配原則
if語句允許嵌套。所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況。
if語句嵌套時(shí),else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對(duì)。
為明確匹配關(guān)系,避免匹配錯(cuò)誤,強(qiáng)烈建議:將內(nèi)嵌的if語句,一律用花括號(hào)括起來。
1 執(zhí)行流程
對(duì)于基本語句:if(條件) 語句1 else 語句2
執(zhí)行流程為
如果條件成立 則執(zhí)行語句1,否則執(zhí)行語句2。
2 當(dāng)語句1或語句2又為一個(gè)條件語句時(shí)就構(gòu)成了條件嵌套。
嵌套時(shí)最基本的組合原則是,else與其上同一個(gè)層次中、最近一個(gè)、未配對(duì)的if組合。
如:if ()
if () 語句1
if ()語句2
else 語句3
則 else 與第三個(gè)if配對(duì)
再如 if ()
{ if () 語句1
if ()語句2 }
else 語句3
則 else 與第一個(gè)if配對(duì),(在同一層次)
3 {} 是構(gòu)成復(fù)合語句,當(dāng)語句1或2為多個(gè)語句時(shí),需要由{}括起來,構(gòu)成一個(gè)符合語句。
或者通過{} 改變配對(duì)次序(如上例)
C語言中if語句基本的有三種格式,在此基礎(chǔ)上可以擴(kuò)展一些其它格式,下面我們來看看c語言if語句的用法。
c語言if語句的用法
1、 if……形式
一般格式:if(表達(dá)式) 語句;
語義是:如果表達(dá)式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句。語句可以是單條語句,也可以是用花括號(hào){}包括起來的復(fù)合語句。示例如下:
#include
int main(){
int a,b,max;
printf(" input two numbers: ");
scanf("%d%d",a,b);
max=a;
if (maxb) max=b;
printf("max=%d ",max);
return 0;
}
2、if……else形式
一般格式:
if(表達(dá)式)
語句1;
else
語句2;
語義是:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2 。語句1和語句2可以是復(fù)合語句。
示例如下:
#include
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",a,b);
if(ab)
printf("max=%d ",a);
else
printf("max=%d ",b);
return 0;
}
3、if……else……if形式
一般形式為:
if(表達(dá)式1)
語句1;
else if(表達(dá)式2)
語句2;
else if(表達(dá)式3)
語句3;
…
else if(表達(dá)式m)
語句m;
else
語句n;
語義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語句。然后跳到整個(gè)if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。示例如下:
#include
int main(){
char c;
printf("input a character: ");
c=get);
if(c32)
printf("This is a control character ");
else if(c=0c=9)
printf("This is a digit ");
else if(c=Ac=Z)
printf("This is a capital letter ");
else if(c=ac=z)
printf("This is a small letter ");
else
printf("This is an other character ");
return 0;
}
4、擴(kuò)展形式
if條件控制語句的形式是多種多樣的。比如if嵌套、if……if類似的形式,但是都離不開上面介紹的三種基本形式。注意活學(xué)活用。
【拓展】c語言的優(yōu)缺點(diǎn)
1. 簡(jiǎn)潔緊湊、靈活方便
C語言一共只有32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示。它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。 C 語言可以像匯編語言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。
2. 運(yùn)算符豐富
C語言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語言的'運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富
C語言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
4. C是結(jié)構(gòu)式語言
結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂?、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5.C語法限制
C語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大 雖然C語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度
6. C語言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作
由于C語言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行
c語言提供了三種形式的if語句:
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))。
網(wǎng)站名稱:C語言函數(shù)if的執(zhí)行過程 c語言if執(zhí)行條件
URL地址:http://jinyejixie.com/article42/hpceec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站制作、靜態(tài)網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)