⑴ c語言if語句的用法
c語言提供了三種形式的if語句:
1、if(表達式)語句。
例如:if(x>y)printf("%d",x);
此時,如果表達式為真,則執行printf語句。
2、if(表達式)語句1 else 語句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此時,如果x>y成立為真,則執行語句printf("%d",x),然後直接跳過else,同時也跳過語句printf("%d",y),去執行之後的語句。
如果x>y不成立為假,則不執行語句printf("%d",x),執行語句printf("%d",x)。
3、if(表達式1)語句1
else if(表達式2)語句2
else if(表達式3)語句3
else if(表達式m)語句m
else 語句 n
此時,哪個表達式為真,則運行哪個if後面的語句。如表達式3成立為真,執行語句3。
在每個語句中,可以有多個語句,但需要加上大括弧
例:if(x>y){printf("%d",x);break;}
(1)C語言if小括弧里可以加分號嗎擴展閱讀:
if語句使用的注意事項:
1.if(條件表達式)其後沒有分號。
一般來說,有"{}"有沒有";",有";"就沒有"{}"
2.if語句所控制的語句如果是一條語句,我們可以不寫大括弧;
如果控制的是兩條以上的語句,必須加大括弧。
if語句的控制體沒有加大括弧是其後跟的一條語句。
建議:永遠加上大括弧。避免不必要的錯誤。
參考資料:網路-if語句
⑵ C語言中if語句問題
if語句的一般形式是:
if(表達式)語句
C語言中語句的標志是「;」,即以分號結尾的句子。
如果寫if(a>b)
c++這是錯的,因為c++是一個表達式。
如果寫if(a>b)
c++;
這就對了,因為c++;是一個語句。這是表達式+分號構成的語句,稱之為表達式語句,是C語言語句的一種。
問題補充的回答:
{;}這是一個復合語句。
if(b==0)
m=1;n=2;這兒有一個if控制語句,到m=1結束。n=2;是另一個語句。
另一個問題:
if後的括弧里可以是任意表達式。表達式的值非0即1.
如果if(35)c++;
這表示if的條件永遠成立,因為35不是0,所以它的邏輯值為1,執行表達式後的語句。
回答很多,應該夠詳細吧,申請加分,呵呵。
⑶ C語言中if語句後面不能加分號,否則當條件為真時執行空語句是什麼意思
意思是if語句在執行時,先判斷括弧內語句是否為真,如果為真,則執行後續程序。當括弧內為空時,語句判斷為非真,後續所含語句不予執行。
if語句的具體用法:
#include<stdio.h>
int main()
{
int x = 5; //聲明變數x
if (x < 10) //如果x的值小於10則執行if大括弧中的代碼
{
x++;
}
printf("x=%d " , x);
return 0;
}
(3)C語言if小括弧里可以加分號嗎擴展閱讀
if…else if…else語句的具體語法格式如下:
if (判斷條件1)
{
執行語句1
}
else if (判斷條件2)
{
執行語句2
}
……
else if (判斷條件n)
{
執行語句n
}
else
{
執行語句n+1
}
⑷ C語言if後面的小括弧里能加分號嗎
不能,判斷的是表達式(廣義上的表達式,包括函數的返回值也是表達式),不是語句
⑸ c語言這個else if後面用不用加分號啊這是我打的在環境裡面沒error
如果後面只有一個語句就可以不用花括弧,但是推薦無論要不要都加花括弧。容易看,後期修改也不容易出錯
⑹ c++,if後面不可以直接跟分號嗎
if後面不能是分號,不然編譯時會被當成一個執行語句。
但是,第二行有一個分號是可以的,編譯器會把它當成一個空語句。
⑺ 求助,if後面加不加分號的問題。。。。。。。
if else的固定形式這樣 ,if——else,要配對
if(表達式) 語句1;
else語句2;
樓上上面的例子需要加分號,相當於if後面是空語句
if(s>c);//a,b你叫大小,得出較大值s,在於c比較,若s>c,s的值不變,相等執行空語句
else s=c;
可不是說IF語句FOR語句之後都不用加,不一定,如果後面執行空語句,就要加分號
代碼有處錯誤已改為
#include"stdio.h"
int main()
{
float a,b,c,d,e,s;
scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
if(a>b) s=a;
else s=b;
if(s>c);
else s=c;
if(s>d);
else s=d;
if(s>e);
else s=e;
printf("max=%f\n",s);
return 0;
}
⑻ C語言中的if(1)是什麼意思啊
if(表達式)表達式的值為1後面的程序執行,若為0則不執行。
比如if(1>2)其中1>2是個邏輯判斷,1<2當然是假,所以就是false(false為0,true為1),但cpu不認false只認0和1,所以1《2的邏輯返回值就是0,所以if(0)等價於if(1>2),其他的同理。
還有一種就是if(5),c語言默認if(判別的返回值)是0就不執行,不是0就是執行!所以if(5)等同於if(1)
也就是說if(表達式結果為0(邏輯判斷只返回0和1,但若是某個數值則不為0則當做是1))。
所以f(0)等價於f(1<2)等價於f((1+4)<9),f(!1)等,不執行。
if(1)相當if(5),if(1<2);
int a=0;
if(1)執行;
a=3;結果a=3;
if(0)不執行跳過;
a=4;
else a=5;執行a=5;
(8)C語言if小括弧里可以加分號嗎擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
⑼ C語言中if,for後加不加分號都可以么
if語句不能加,如
if(a>0)
pritf("%d", a);
else
pritf("%d", 0);
a>0時就能把a列印出來,a不大於0就列印出0,但要是加上了
if(a>0);
pritf("%d", a);
else
pritf("%d", 0);
這樣是編譯不過去的,編譯過程中還會有個「warning C4390: 「;」 : 找到空的受控語句;這是有意的嗎?」
「error C2181: 沒有匹配 if 的非法 else 」
for語句一般也不會加,一個空的循環是沒有意思的。
但是也有一些特殊的情況,比如:
while(*s++ = *t++);
這句話就是一個字元串的復制,當然,真正寫程序的時候是很少用這種語法的。
⑽ c語言if語句後加分號什麼意思
if判斷只能接一個語句,存在多個語句時,用塊語句表示{},若在if判斷後
直接加「;」相當於if判斷後加一個空語句,即使條件成立什麼也不會干!