if後面的括號內容有幾種?例如 已經定義了int a 1 if a 不進此處else進入此處

2021-03-31 22:34:00 字數 6114 閱讀 6735

1樓:匿名使用者

必須是同一個條件

比如a=false

if(!a)else

if(a==false)else

if(a==true)else

if(a==1)else if(a==2)else if(a==3)

2樓:哥德堡快遞

if後面的括號內容只有一種:邏輯比較,true or false

if (!a) 等價於 if (a==0)

if (a=2) 等價於 a=2; if (a != 0) 恆為false

3樓:匿名使用者

規範的來說,括號裡只能填判斷語句,這才是if的本意

如果寫a=2是無意義的,還不如直接賦值

一般這樣寫,大部分都是寫錯了,少寫了=

c語言中的if語句括號裡只有變數怎麼理解?例如 int a=0,b=1,c=2; if (!a) c-=1; ...

4樓:匿名使用者

看那個變數是0還是1,是0,不執行後面的語句,1則執行。if (!

專a) c-=1,因為a=0,則!a=1,執行

c=c-1,此時c=1; 第二句,b=1為真屬,執行後面的語句,c=c-2,則c=-1;第三局,c=-3,為真,執行語句,c=c-3.則c=-4. 希望能解決你的問題。

5樓:匿名使用者

if(!a)是指啊條件不成立,不是a的情況下進行下步運算,在此處指非0,則條件為真,if(b),if(c),條件都是真,此處為邏輯語句

6樓:

變數的值為0即相當於false

非0則相當於true

main(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d",b);}結果為什麼是0?

7樓:佔座專用

我把大copy括號給你加上你就明白了

main()

else if(a==0) //假

else

}printf("%d",b);}

8樓:

首先a=1,則if( !a)為假,不執行b++;

然後else if( a==0)也為假,不執行後面的if(a),即不會執行b+=2或b+=3;

所以 最後結果b還是0;

c語言中的if(1)是什麼意思啊

9樓:你不愛吃烤肉

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;

擴充套件資料:

c語句常用語句:

一,表示式語句

表示式語句由表示式加上分號「;」組成。

其一般形式為:表示式;執行表示式語句就是計算表示式的值。

例如: x=y+z;a=520;賦值語句;

y+z;加法運算語句,但計算結果不能保留,無實際意義;

i++; 自增1語句,i值增1。

i++; 是先運算i後再加1。

++i; 是先把i值增1後運算。

二,函式呼叫語句

由函式名、實際引數加上分號「;」組成。

其一般形式為: 函式名(實際參數列) ;

執行函式語句就是呼叫函式體並把實際引數賦予函式定義中的形式引數,然後執行被調函式體中的語句,求取函式值。

呼叫庫函式,輸出字串。

例如:printf(a,b,c); /*呼叫名為"printf"的函式*/

三,控制語句

控制語句用於控制程式的流程, 以實現程式的各種結構方式。

它們由特定的語句定義符組成。c語言有九種控制語句。 可分成以下三類:

(1). 條件判斷語句

if語句、switch語句;

(2) .迴圈執行語句

do while語句、while語句、for語句;

(3). 轉向語句

break語句、goto語句(此語句儘量少用,因為這不利結構化程式設計,濫用它會使程式流程無規律、可讀性差)、continue語句、return語句。

條件判斷

int x,y;

if(x>y)

printf("x,\n");

else

printf("y,\n");

四,複合語句

把多個語句用括號{}括起來組成的一個語句稱複合語句。 在程式中應把複合語句看成是單條語句,而不是多條語句,例如

是一條複合語句。複合語句內的各條語句都必須以分號「;」結尾;此外,在括號「}」外不能加分號。

五,空語句

只有分號「;」組成的語句稱為空語句。空語句是什麼也不執行的語句。在程式中空語句可用來作空迴圈體。

例如 while(getchar()!='\n'); 本語句的功能是,只要從鍵盤輸入的字元不是回車則重新輸入。這裡的迴圈體為空語句。

10樓:銀孟昝迎彤

首先你要明白什麼是表示式,還有變數。

a是一個變數。

a++,++a都是a加了1.

比如a原來是1,執行了a++或++a後,a變數的值就是2了至於a++和++a的區別主要是在表示式上的區別。

++a是先執行了a加1後,參與表示式的計算。

a++是a先參與表示式的計算,後執行自加1.

比如:int

a,b;

a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做

b=a++;//++在a之後,先把a的值付給b,然後再本身加1。這時候b=1,a=2了。

//如果你還不懂得話。b=a++;的意思

就是b=a;a=a+1;這兩句意思

//而b=++a

就是a=a+1;b=a;的意思

至於a++=a+a+1

好像寫錯了吧

是a+=a+a+1

優先順序等於

a=a+(a+a+1)//a+=b

是a=a+b

的簡化!=

不等於,是條件運算子,用來判斷真假的。

比如1!=2;

表示式的值就是假,也就是0;

c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。

11樓:宜都書童

if()括號裡面跟的是條件句,如果條件成立,也就是if(1),則後面的程式執行。c語言預設if(判別的返回值)是0就不執行,不是0就是執行、所以if(5)等同於if(1)。

c# 中 if 語句的語法:

if(boolean_expression)

如果布林表示式為 true(1),則 if 語句內的**塊將被執行。如果布林表示式為 false(0),則 if 語句結束後的第一組**(閉括號後)將被執行。你的**解釋如下:

int a=0;

if(1)//執行

else a=5//執行a=5

擴充套件資料:

1、一般形式 if(表示式)表示式1 else 表示式2   :表示式成立(為真)則執行表示式1,否則執行表示式2.

適用範圍:真假,對錯,開關,對立面的條件

注意:如果if語句中只包括一條語句,可以省略{}但最好不要省略,如果有多條語句,一定要加{}

如果else不包含任何語句,則可以省略掉else

2、分支 if(表示式1){語句1}else if(表示式){語句2} else if(表示式3){語句3}。。。。。else(語句4)

表示式1成立立即執行語句1,否則判斷表示式2,表示式2成立則立即執行語句2,否則判斷表示式3,表示式3成立則立即執行語句3,表示式1,表示式2,表示式3都不成立,則執行語句4

分支if語句中條件是互斥的,不能有重複或互相包含的情況。如果有,必須重新理清程式思路。

if的條件是一段連續的範圍,要把所有的情況都涵蓋完

適用範圍:條件互斥,沒有相重合的條件,且條件都是一段連續的範圍的時候用

3、巢狀形式:

if (表示式) else

}elseelse

}使用範圍:適合逐層遞進,從大到小細分條件,可用巢狀。

12樓:匿名使用者

邏輯判斷

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)執行

else a=5;執行a=5

還一個是,*************這個自己動腦,按上面的方法試試

int a=0;

if(1)

a=3;

if(0)

a=4;

else a=5;

請一步步的說一下是什麼意思啊··想了半天也沒想明白··

13樓:匿名使用者

if(1)裡的1同時被理解為真假值,代表真,也就是如果為真,就進行if後邊的操作

main() { int a=2,b=-1,c=2; if(a

14樓:匿名使用者

else關鍵字總是與它前面最接近的一個if組成一對在這題中else語句與if(b<0) c=0組成一對它們這個整體同屬於上一個if(a

因為a=2,b=-1,不能進入if(a

執行printf("%d\n",c)

這個時候c未做任何改變,

所以值為2

15樓:匿名使用者

這樣寫你看的更清楚:

main()

{int a=2,b=-1;c=2;

if(a原則,是第二if不成立時的選項。

而執行時,第一個if不成立,所以後面就不執行,直接執行printf語句,輸出2.

16樓:傾聽的你

void main() {

int a=2,b=-1,c=2;

if (a意思是如果a且b<0,才執行c=0。題意不滿足,所以不執行,else於離著它最近的if配對,所以這個程式時一個大的if裡面巢狀一個if—else語句。

所以當a

17樓:匿名使用者

#pragma hdrstop

#include

#include

#pragma argsused

main()

若想他等於3,則

main()

//****************

else c++;

printf("%d\n",c);

system("pause");}

選單中命令後面的括號和括號裡的字母 數字怎麼用

就是你把這個下拉選單開啟後,不用滑鼠移動到相應選項上面,只需要按那個選項上的字母就可以開啟那個選項 如果你想純鍵盤控制,按alt可以聚焦在 檔案 使用鍵盤左右選擇選單。再按上下可以撥出選單。按相應字母選擇選項。當你開啟這些選單的時候,只要按這些字母就會選擇相應的命令,一般不需要特殊的鍵進行組合,如果...

顯示卡後面的幾g是什麼意思,例如gtx

顯示卡bai後面的幾g是顯示卡的顯du存容量。zhigtx1060 6g版和3g版的情況比較特殊,dao二者不只是視訊記憶體 容量內的差別,容6g版視訊記憶體多一倍,有1280個流處理器。3g版只有1152個流處理器。其他型號的顯示卡一般就是視訊記憶體容量和視訊記憶體位寬的區別了。視訊記憶體大小 跟...

查詢函式括號內後面兩個數字是什麼意思,例如VLOOKUP A3,Sheet1,H N,2,0 ,2和0是什麼意思

2 是sheet1 h n 區域的 從h列開始數 第二列 i 列 你可以選取其他數字 來 選取不同的列 0 是一個邏輯值 來表示 查詢的 方式,0 代表從上往下查遍 h列的所有資料 直到找到 符合條件的結果為止,如果找不到的話,就返回錯誤值 而這個位置的1 或者是忽略,則表示 如果從上往下遇到第一個...