當(dāng)有多個分支選擇時,可采用if-else-if語句,其一般形式為:
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出泉州免費做網(wǎng)站回饋大家。
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)某個值為真時,則執(zhí)行其對應(yīng)的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。 if-else-if語句的執(zhí)行過程如下圖所示。
參考代碼如下:
char c;
printf("input a character: ? ?");
c=getchar();
if(c32)
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;
本例要求判別鍵盤輸入字符的類別。可以根據(jù)輸入字符的ASCII碼來判別類型。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之間為小寫字母,其余則為其它字符。
這是一個多分支選擇的問題,用if-else-if語句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“g”,輸出顯示它為小寫字符。
擴展資料:
在使用if語句中還應(yīng)注意以下問題:
1、在if關(guān)鍵字之后均為表達(dá)式。 該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個變量。例如:
if(a=5) 語句;
if(b) 語句;
都是允許的。只要表達(dá)式的值為非0,即為“真”。如在:
if(a=5)…;
中表達(dá)式的值永遠(yuǎn)為非0,所以其后的語句總是要執(zhí)行的,當(dāng)然這種情況在程序中不一定會出現(xiàn),但在語法上是合法的。
2、在if語句中,條件判斷表達(dá)式必須用括號括起來,在語句之后必須加分號。
3、在if語句中,所有的語句應(yīng)為單個語句,如果要想在滿足條件時執(zhí)行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復(fù)合語句。但要注意的是在}之后不能再加分號。
參考資料:
Microsoft-if-else(C# 參考)
菜鳥教程-C#?if 語句
條件語句中出錯了,你寫的是else if(0x=10),其實只用寫 else if (x = 10)
而且(0x=10)表示 0x的結(jié)果,即邏輯判斷結(jié)果 如果 x 0 則為真,結(jié)果為1,否則為0,再與10比較, 不管是1,還是0,=10始終為真。所以,只要不執(zhí)行第一個if語句的內(nèi)容,就都執(zhí)行y = 3*x*x;
如果你真的需要表示(0x=10),即x大于0小于等于10的話,也是 (0x x=10)
c語言中多個if的用法的用法你知道嗎?下面我就跟你們詳細(xì)介紹下c語言中多個if的用法的用法,希望這些關(guān)于c語言的知識能幫到大家。
c語言中多個if的用法:基本形式if
if(表達(dá)式) 語句
其語義是:如果表達(dá)式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句。其過程可表示為下圖。
【例5-3】
01.#include stdio.h
02.int main(void){
03. int a,b,max;
04. printf("\n input two numbers: ");
05. scanf("%d%d",a,b);
06. max=a;
07. if (maxb) max=b;
08. printf("max=%d",max);
09. return 0;
10.}
本例程序中,輸入兩個數(shù)a、b。把a先賦予變量max,再用if語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值。
c語言中多個if的用法:if-else
if(表達(dá)式)
語句1;
else
語句2;
其語義是:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2 。其執(zhí)行過程可表示為下圖。
【例5-4】
01.#include stdio.h
02.int main(void){
03. int a, b;
04. printf("input two numbers: ");
05. scanf("%d%d",a,b);
06. if(ab)
07. printf("max=%d\n",a);
08. else
09. printf("max=%d\n",b);
10. return 0;
11.}
輸入兩個整數(shù),輸出其中的大數(shù)。改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。
c語言中多個if的用法:if-else-if形式
前二種形式的if語句一般都用于兩個分支的情況。當(dāng)有多個分支選擇時,可采用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)某個值為真時,則執(zhí)行其對應(yīng)的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。 if-else-if語句的執(zhí)行過程如下圖所示。
【例5-5】
01.#include stdio.h
02.int main(void){
03. char c;
04. printf("input a character: ");
05. c=getchar();
06. if(c32)
07. printf("This is a control character\n");
08. else if(c='0'c='9')
09. printf("This is a digit\n");
10. else if(c='A'c='Z')
11. printf("This is a capital letter\n");
12. else if(c='a'c='z')
13. printf("This is a small letter\n");
14. else
15. printf("This is an other character\n");
16. return 0;
17.}
猜你喜歡:
1. if的用法
2. c語言學(xué)習(xí)心得6篇
3. if句型的用法總結(jié)
4. c語言有哪些函數(shù)必須介紹
5. 英語語法if的用法解釋
你犯了一個非常常見的問題.
if(op='+')
if(op='-')
你的兩個if里面的判斷相等的符號用錯了,應(yīng)該用相等符號==,而不是賦值符號=
建議你以后這么寫代碼
if('+'==op)
if('-'==op)
你這樣寫的話,就算是你把==錯誤的寫成了=號,那么編譯器會提示你.這樣就能很快發(fā)現(xiàn)錯誤了,你可以試一試.
情況1:
你的程序?qū)懙挠袉栴}!
那個判斷條件不應(yīng)該是a=b,這是個賦值語句,為真!
應(yīng)該是判斷語句a==b!
那么程序走到這個判斷條件上時,a=2,b=3,所以a!=b,它走的是另外的一個路徑,即else語句!
c先自加一次,即為5!
b=b+(++c)=3+5=8!
a沒變化!沒有改變a值變化的語句!
所以答案為2 8 5!
情況2:
你寫的程序沒問題
那么那個if語句判斷的結(jié)果為真,因為它的判斷語句是個賦值語句!所以它接下來走的路徑是c+=b++,即c=c+b++,所以c=4+3=7!b在做完加法后自加一次,變成4,即輸出的值為4!
答案為3 4 7!
if是條件選擇句,可嵌套使用,個數(shù)無限制,注意條件句成立只運行if后一條語句,另外分支句是switch,其case可以有無數(shù)條,但注意每條語句后又沒加break語句的必要性。