C語言中if語句基本的有三種格式,在此基礎(chǔ)上可以擴展一些其它格式,下面我們來看看c語言if語句的用法。
創(chuàng)新互聯(lián)堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10余年網(wǎng)站建設(shè)經(jīng)驗創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)站設(shè)計、H5頁面制作、網(wǎng)站制作、品牌網(wǎng)站設(shè)計、微信小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
c語言if語句的用法
1、 if……形式
一般格式:if(表達式) 語句;
語義是:如果表達式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句。語句可以是單條語句,也可以是用花括號{}包括起來的復合語句。示例如下:
#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(表達式)
語句1;
else
語句2;
語義是:如果表達式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2 。語句1和語句2可以是復合語句。
示例如下:
#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(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
語義是:依次判斷表達式的值,當出現(xiàn)某個值為真時,則執(zhí)行其對應(yīng)的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達式均為假,則執(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、擴展形式
if條件控制語句的形式是多種多樣的。比如if嵌套、if……if類似的形式,但是都離不開上面介紹的三種基本形式。注意活學活用。
【拓展】c語言的優(yōu)缺點
1. 簡潔緊湊、靈活方便
C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。 C 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。
2. 運算符豐富
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。從而使C語言的'運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富
C語言的數(shù)據(jù)類型有:整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實現(xiàn)各種復雜的數(shù)據(jù)結(jié)構(gòu)的運算。并引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能,支持多種顯示器和驅(qū)動器。且計算功能、邏輯判斷功能強大。
4. C是結(jié)構(gòu)式語言
結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5.C語法限制
C語法限制不太嚴格,程序設(shè)計自由度大 雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度
6. C語言允許直接訪問物理地址,可以直接對硬件進行操作
由于C語言允許直接訪問物理地址,可以直接對硬件進行
if語句是c語言中的條件分支語句。它能將程序的執(zhí)行路徑分為兩條。下面我們來看看c語言if的用法: if (condition) statement1;; else statement2; 其中,if和else的對象都是單個語句(statement),也可以是程序塊。條件condition可以是任何返回布爾值的表達式。else子句是可選的。 if語句的執(zhí)行過程如下:如果條件為真,就執(zhí)行if的對象(statement1);否則,執(zhí)行else的對象(statement2)。任何時候兩條語句都不可能同時執(zhí)行??紤]下面的例子: int a,b; if(a b) a = 0; else b = 0; 本例中,如果a小于b,那么a被賦值為0;否則,b被賦值為0。任何情況下都不可能使a 和b都被賦值為0。 記住,直接跟在if 或else語句后的語句只能有一句。如果你想包含更多的語句,你需 要建一個程序塊,如下面的例子: int bytesAvailable; if (bytesAvailable 0) { ProcessData(); bytesAvailable -= n; } else waitForMoreData(); 這里,如果變量bytesAvailable 大于0,則if塊內(nèi)的所有語句都會執(zhí)行。 嵌套 if 語句 嵌套(nested)if語句是指該if語句為另一個if或者else語句的對象。在編程時經(jīng)常要用到嵌套if語句。當你使用嵌套if語句時,需記住的要點就是:一個else語句總是對應(yīng)著和它同一個塊中的最近的if語句,而且該if語句沒有與其他else語句相關(guān)聯(lián)。下面是一個例子: if(i == 10) { if(j 20) a = b; if(k 100) c = d; // this if is else a = c; // associated with this else } else a = d; // this else refers to if(i == 10) 如注釋所示,最后一個else語句沒有與if(j 20)相對應(yīng),因為它們不在同一個塊(盡 管if(j 20)語句是沒有與else配對最近的if語句)。最后一個else語句對應(yīng)著if(i==10)。 內(nèi)部的else語句對應(yīng)著if(k100),因為它是同一個塊中最近的if語句。 if-else-if 階梯 基于嵌套if語句的通用編程結(jié)構(gòu)被稱為 if-else-if 階梯。它的語法如下: if(condition) statement; else if(condition) statement; else if(condition) statement; else statement; 條件表達式從上到下被求值。一旦找到為真的條件,就執(zhí)行與它關(guān)聯(lián)的語句,該階梯的其他部分就被忽略了。如果所有的條件都不為真,則執(zhí)行最后的else語句。最后的else語句經(jīng)常被作為默認的條件,即如果所有其他條件測試失敗,就執(zhí)行最后的else語句。如果沒有最后的else語句,而且所有其他的條件都失敗,那程序就不做任何動作。 . 下面的程序通過使用if-else-if階梯來確定某個月是什么季節(jié)。 // Demonstrate if-else-if statements. main() { int month = 4; // April if (month == 12 || month == 1 || month == 2) printf ( "Winter"); else if (month == 3 || month == 4 || month == 5) printf ("Spring"); else if (month == 6 || month == 7 || month == 8) printf ( "Summer"); else if (month == 9 || month == 10 || month == 11) printf ("Autumn"); else printf ( "Bogus Month"); } 該程序產(chǎn)生如下輸出: Spring. 試驗這個程序。你將看到,不管你給month什么值, 該階梯中有而且只有一個語句執(zhí)行。 小結(jié): if語句的三種形式: a) if (表達式)語句 b) if (表達式)語句1 else 語句2 c) if (表達式1)語句1 else if(表達式2)語句2 …… else 語句
1.if語句的一般格式
if(表達式)
{語句組1;}
[else
{語句組2;} ]
(1)if語句中的“表達式”必須用“(”和“)”括起來.
(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用.
(3)當if和else下面的語句組,僅由一條語句構(gòu)成時,也可不使用復合語句形式(即去掉花括號).
2.if語句的執(zhí)行過程
(1)缺省else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執(zhí)行語句組1,否則直接轉(zhuǎn)向執(zhí)行下一條.
(2)指定else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執(zhí)行語句組1,然后轉(zhuǎn)向下一條語句;否則,執(zhí)行語句組2.如圖4-1(b)所示.
3.if語句的嵌套與嵌套匹配原則
if語句允許嵌套.所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況.
if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對.
為明確匹配關(guān)系,避免匹配錯誤,強烈建議:將內(nèi)嵌的if語句,一律用花括號括起來.