c语言程序中的if-else语句,C语言if else语句
C語言中,使用
if和
else關鍵字對條件進行判斷。請先看下面的代碼:
#include int main(){? ? int age;? ? printf("請輸入你的年齡:");? ? scanf("%d", &age);? ? if(age>=18){? ? ? ? printf("恭喜,你已經成年,可以使用該軟件!\n");? ? }else{? ? ? ? printf("抱歉,你還未成年,不宜使用該軟件!\n");? ? }? ? return 0;}
可能的運行結果:
請輸入你的年齡:23↙ 恭喜,你已經成年,可以使用該軟件! 或者:
請輸入你的年齡:16 抱歉,你還未成年,不宜使用該軟件! 這段代碼中,
age>=18是需要判斷的條件,
>=表示“大于等于”,等價于數學中的
≥。
如果條件成立,也即 age 大于或者等于 18,那么執行
if后面的語句(第8行);如果條件不成立,也即 age 小于 18,那么執行
else后面的語句(第10行)。
if 和 else 是兩個新的關鍵字,if 意為“如果”,else 意為“否則”,用來對條件進行判斷,并根據判斷結果執行不同的語句。總結起來,if else 的結構為:
if(判斷條件){? ? ?語句塊1 }else{? ? ?語句塊2 } 意思是,如果判斷條件成立,那么執行語句塊1,否則執行語句塊2 。其執行過程可表示為下圖:
所謂
語句塊(Statement Block),就是由
{ }包圍的一個或多個語句的集合。如果語句塊中只有一個語句,也可以省略
{ },例如:
if(age>=18) printf("恭喜,你已經成年,可以使用該軟件!\n");else printf("抱歉,你還未成年,不宜使用該軟件!\n");
由于if else 語句可以根據不同的情況執行不同的代碼,所以也叫
分支結構
或
選擇結構
,上面的代碼中,就有兩個分支。
求兩個數中的較大值:
#include int main(){? ? int a, b, max;? ? printf("輸入兩個整數:");? ? scanf("%d %d", &a, &b);? ? if(a>b) max=a;? ? else max=b;? ? printf("%d和%d的較大值是:%d\n", a, b, max);? ? return 0;}
運行結果:
輸入兩個整數:34 28↙
34和28的較大值是:34
本例中借助變量max,用max來保存較大的值,最后將max輸出。
只使用if語句 有的時候,我們需要在滿足某種條件時進行一些操作,而不滿足條件時就不進行任何操作,這個時候我們可以只使用 if 語句。也就是說,if else 不必同時出現。
單獨使用 if 語句的形式為:
if(判斷條件){? ? ?語句塊 } 意思是,如果判斷條件成立就執行語句塊,否則直接跳過。其執行過程可表示為下圖:
只使用 if 語句來求兩個數中的較大值:
#include int main(){? ? int a, b, max;? ? printf("輸入兩個整數:");? ? scanf("%d %d", &a, &b);? ? max=b;? // 假設b最大? ? if(a>b) max=a;? // 如果a>b,那么更改max的值? ? printf("%d和%d的較大值是:%d\n", a, b, max);? ? return 0;}
運行結果:
輸入兩個整數:34 28
34和28的較大值是:34
本例程序中,輸入兩個數a、b。把b先賦予變量max,再用 if 語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數,最后輸出max的值。
多個if else語句 if else 語句也可以多個同時使用,構成多個分支,形式如下:
if(判斷條件1){? ? ?語句塊1 } else? if(判斷條件2){? ? ?語句塊2 }else? if(判斷條件3){? ? ?語句塊3 }else? if(判斷條件m){? ? ?語句塊m }else{? ? ? 語句塊n } 意思是,從上到下依次檢測判斷條件,當某個判斷條件成立時,則執行其對應的語句塊,然后跳到整個 if else 語句之外繼續執行其他代碼。如果所有判斷條件都不成立,則執行語句塊n,然后繼續執行后續代碼。
也就是說,一旦遇到能夠成立的判斷條件,則不再執行其他的語句塊,所以最終只能有一個語句塊被執行。
例如,使用多個 if else 語句判斷輸入的字符的類別:
#include int main(){? ? char c;? ? printf("Input a character:");? ? c=getchar();? ? if(c<32)? ? ? ? printf("This is a control character\n");? ? else if(c>='0'&&c<='9')? ? ? ? printf("This is a digit\n");? ? else if(c>='A'&&c<='Z')? ? ? ? printf("This is a capital letter\n");? ? else if(c>='a'&&c<='z')? ? ? ? printf("This is a small letter\n");? ? else? ? ? ? printf("This is an other character\n");? ? return 0;}
運行結果:
Input a character:e↙
This is a small letter
本例要求判別鍵盤輸入字符的類別。可以根據輸入字符的ASCII碼來判別類型。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之間為小寫字母,其余則為其它字符。這是一個多分支選擇的問題,用多個 if else 語句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“e”,輸出顯示它為小寫字符。
在使用 if 語句時還應注意以下兩點:
在 if 語句中,判斷條件必須用括號括起來。語句塊由{ }包圍,但要注意的是在}之后不需要再加分號;(當然加上也沒錯)。
if語句的嵌套 if 語句也可以嵌套使用,例如:
#include int main(){? ? int a,b;? ? printf("Input two numbers:");? ? scanf("%d %d",&a,&b);? ? if(a!=b){? //!=表示不等于? ? ? ? if(a>b) printf("a>b\n");? ? ? ? else printf("a
運行結果:
Input two numbers:12 68
a
if 語句嵌套時,要注意 if 和 else 的配對問題。
C語言規定,else 總是與它前面最近的 if 配對,例如:
if(a!=b)? // ①if(a>b) printf("a>b\n");? // ②else printf("a
③和②配對,而不是和①配對。
總結
以上是生活随笔為你收集整理的c语言程序中的if-else语句,C语言if else语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 usb音量调节_戴尔推出面向Tea
- 下一篇: forager有多少个机器人_诠视科技: