C說話 if else 語句具體講授。本站提示廣大學習愛好者:(C說話 if else 語句具體講授)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 if else 語句具體講授正文
後面我們看到的代碼都是次序履行的,也就是先履行第一條語句,然後是第二條、第三條……一向到最初一條語句。
然則關於許多情形,次序構造的代碼是遠遠不敷的,好比一個法式限制了只能成年人應用,兒童由於年紀不敷,沒有權限應用。這時候候法式就須要做出斷定,看用戶能否是成年人,並給出提醒。
if-else語句
在C說話中,應用if和else症結字停止斷定。請先看上面的代碼:
#include <stdio.h> int main() { int age; printf("請輸出你的年紀:"); scanf("%d", &age); if(age>=18){ printf("祝賀,你曾經成年,可使用該軟件!\n"); }else{ printf("負疚,你還未成年,不宜應用該軟件!\n"); } return 0; }
能夠的運轉成果:
請輸出你的年紀:23
祝賀,你曾經成年,可使用該軟件!
if else 語句的構造為:
if(表達式){
語句塊1
}else{
語句塊2
}
意思是:假如表達式的值為真,則履行語句塊1,不然履行語句塊2 。其履行進程可表現為下圖:
所謂語句塊(Statement Block),就是由{ }包抄的一個或多個語句的聚集。假如語句塊中只要一個語句,也能夠省略{ },例如:
if(age>=18) printf("祝賀,你曾經成年,可使用該軟件!\n");
else printf("負疚,你還未成年,不宜應用該軟件!\n");
因為if else 語句可以依據分歧的情形履行分歧的代碼,所以也叫分支構造或選擇構造,下面的代碼中,就有兩個分支。
求兩個數中的較年夜值:
#include <stdio.h> 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 <stdio.h> 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語句以外持續履行法式。 假如一切的表達式均為假,則履行語句塊n。然後持續履行後續法式。多個 if else 語句的履行進程以下圖所示:
例如,斷定輸出的字符的種別:
#include <stdio.h> 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語句時還應留意以下成績:
1) 在三種情勢的if語句中,在 if 症結字以後均為表達式。 該表達式平日是邏輯表達式或關系表達式,但也能夠是其它表達式,如賦值表達式等,乃至也能夠是一個變量。例如:
if(a=5) 語句;
if(b) 語句;
都是許可的。只需表達式的值為非0,即為“真”。如在:
if(a=5)…;
中表達式的值永久為非0,所以厥後的語句老是要履行的,固然這類情形在法式中紛歧定會湧現,但在語法上是正當的。
又如,有法式段:
if(a=b) printf("%d",a); else printf("a=0");
本語句的語義是,把b值付與a,如為非0則輸入該值,不然輸入“a=0”字符串。這類用法在法式中是常常湧現的。
2) 在if語句中,前提斷定表達式必需用括號括起來。
3) 語句塊由{ }包抄,但要留意的是在}以後不要再加分號;。例如:
if(a>b){ a++; b++; }else{ a=0; b=10; }
if語句的嵌套
if 語句也能夠嵌套應用,例如:
#include <stdio.h> 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<b\n"); }else{ printf("a=b\n"); } return 0; }
運轉成果:
Input two numbers:12 68
a<b
if 語句嵌套時,要留意 if 和 else 的配對成績。C說話劃定,else 老是與它後面比來的 if 配對,例如:
if(a!=b) // ① if(a>b) printf("a>b\n"); // ② else printf("a<b\n"); // ③
③和②配對,而不是和①配對。
以上就是對C說話if else常識的詳解,願望能贊助進修C說話的同伙。