#includestdio.h
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有泰順免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
int main()
{
int x;char y;
loop:{
scanf("%d",x);
if(x=90)y='a';
else
if(80=xx=89)y='b';//要用并且記號連接兩個同時滿足的條件
else
if (70=xx=79)y='c';
else
if(60=xx=69)y='d';
else y='e';
printf("%c\n",y);
goto loop;}
return 0;
}
有問題繼續(xù)追問
如果a=5 b=4 c=3,因為ab 固執(zhí)行第一個if語句 執(zhí)行后a=4 b=5 c=3 t=5,進入第二個if語句判斷a=4c=3故執(zhí)行第二個if語句,執(zhí)行后a=3 b=5 c=4 t=4 ,進入第三個if語句判斷b=5c=4,故執(zhí)行第三個if語句,所以當(dāng)輸入為5,4,3時 執(zhí)行了三個if語句!
if后不加分號
#includestdio.h
int main()
{
int a;
int b;
printf("請輸入a:");
scanf("%d",a);
printf("請輸b:");
scanf("%d",b);
if(ab)
{
printf("a is bigger.\n");
}
if(a==b)
{
printf("a is equal to b.\n");
}
if(ab)
{
printf("bisbiggerthana.\n");
}
return 0;
}
#includestdio.h
int main()
{
int a;
int b;
printf("請輸入a:");
scanf("%d",a);
printf("請輸b:");
scanf("%d",b);
if(ab)
{
printf("a is bigger.\n");
}
if(a==b)
{
printf("a is equal to b.\n");
}
if(ab)
{
printf("b is bigger than a.\n");
}
return 0;
}
c語言提供了三種形式的if語句:
1、if(表達式)語句。
例如:if(xy)printf("%d",x);
此時,如果表達式為真,則執(zhí)行printf語句。
2、if(表達式)語句1 else 語句2
例如:
if(xy)printf("%d",x);
else?printf("%d",y);
此時,如果xy成立為真,則執(zhí)行語句printf("%d",x),然后直接跳過else,同時也跳過語句printf("%d",y),去執(zhí)行之后的語句。
如果xy不成立為假,則不執(zhí)行語句printf("%d",x),執(zhí)行語句printf("%d",x)。
3、if(表達式1)語句1
else if(表達式2)語句2
else if(表達式3)語句3
else if(表達式m)語句m
else 語句 n
此時,哪個表達式為真,則運行哪個if后面的語句。如表達式3成立為真,執(zhí)行語句3。
在每個語句中,可以有多個語句,但需要加上大括號
例:if(xy){printf("%d",x);break;}
IF函數(shù)的參數(shù):
(1)Logical_test 表示計算結(jié)果為 TRUE 或 FALSE 的任意值或表達式。
例如,A10=100 就是一個邏輯表達式,如果單元格 A10 中的值等于 100,表達式即為 TRUE,否則為 FALSE。本參數(shù)可使用任何比較運算符(=(等于)、(大于)、=(大于等于)、=(小于等于等運算符))。
(2)Value_if_true表示 logical_test 為 TRUE 時返回的值。
例如,如果本參數(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ù)為文本字符串“超出預(yù)算”而且
logical_test 參數(shù)值為 FALSE,則 IF 函數(shù)將顯示文本“超出預(yù)算”。如果 logical_test 為 FALSE 且忽略了
value_if_false(即 value_if_true 后沒有逗號)。
int?main(void)
{
int?a=2,b=-1,c=2;
if?(ab) //第1個if
if?(b0)? //第2個if
c?=?0;
else?
c++;
printf("%d\n",c);??//輸出結(jié)果為:?2
return?0;
}
/**分析如下:
你的理解是不對的,你可能還沒有弄明白else與if的匹配規(guī)則:else總是與其最近的沒有被else匹配的if相匹配,有點繞,以你的程序為例分析:
else的上面有兩個if,與其最近的是第2個if,這個if還沒有else與其匹配,那么else就與該if匹配,如果我們把上面的語句修改如下:
if?(ab) //第1個if
if?(b0)? //第2個if
c?=?0;
else?c=1;???//這里增加了一個else語句
else
c++;
如果改成了上面這樣的話,由于第2個if已經(jīng)有else與其匹配了,那里else?c++;這條語句就是與第1個if匹配了。
*/
希望對你理解if...else語句有所幫助吧。
if函數(shù),說的是假如,然后:
分兩種:if……printf;if……else
第一種:if……printf,假如一種情況,直接輸出結(jié)果。
if……else,是假如一種情況,不發(fā)生這種情況該怎樣運行:
if()
語句1
else
語句2 這樣是單個語句,既if和else各控制一個語句
再有一句是復(fù)合語句
if()
語句1
else
{
語句2
語句3
}
這樣就是復(fù)合的,else里面包括2個語句,else 只包括語句1 語句2是獨立的,因為它沒有大括號{ }括起來,