C語言 不同型別的變數可以在一個表示式嗎

2023-02-13 22:55:05 字數 3303 閱讀 5982

1樓:彭珂的課堂

c語言_023_輸出顯示不同型別資料_上。

2樓:匿名使用者

可以啊,計算機將使用適當的資料型別進行計算,比如:

int x=2; float y=3; double a,b=4;

a=x*y/b;當計算x*y時,由於y是float型的,計算機按照float來計算得到的結果也是float型的,然後除以b,由於b是double的,計算機會將前面x*y的float結果轉換成doouble型的與b進行計算,結果得到double型的數值賦值給a

3樓:德望汝爾芙

可以啊,計算機將使用適當的資料型別進行計算,比如:

intx=2;

floaty=3;

double

a,b=4;

a=x*y/b;當計算x*y時,由於y是float型的,計算機按照float來計算得到的結果也是float型的,然後除以b,由於b是double的,計算機會將前面x*y的float結果轉換成doouble型的與b進行計算,結果得到double型的數值賦值給a

4樓:藺涉波清心

比||優先順序高,可以不加內括號。

||把表示式分為三部分第一部分是說x為0,那麼!x就是1,也就是說這時候當且僅當x=0,y和z不為0時第一個表示式成立。第二部分就是僅當y為0時表示式成立,第三部分就是z。

這樣只要三部分中的一個表示式成立,那麼通過||運算就曉得整個表示式成立。

5樓:彭珂的課堂

c語言_023_輸出顯示不同型別資料_上。

c語言中的實參可以是任意型別的嗎?形參可以是常量、變數或表示式嗎?

6樓:年松蘭薄娟

1)實參可以是任意型別的資料。

2)形參可以是變數,或預設常量,不可以是表示式。

如果是預設常量,只能定義在引數列表的後面。比如intfunc(int

a,intb=0)是正確的。

intfunc(int

a=0,int

b)是錯誤的。

c語言中的實參可以是任意型別的嗎?形參可以是常量、變數或表示式嗎?

7樓:衣謐樂憐翠

1)實參可以是任意型別的資料。

2)形參可以是變數,或預設常量,不可以是表示式。

如果是預設常量,只能定義在引數列表的後面。比如intfunc(int

a,intb=0)是正確的。

intfunc(int

a=0,int

b)是錯誤的。

c語言中的實參可以是任意型別的嗎?形參可以是常量、變數或表示式嗎?

8樓:莫道無情

實參可以是常量、變數、表示式、函式等任意型別,形參只能是變數,在被定義的函式中,必須指定形參的型別。

形式引數(形參):定義函式名和函式體時需要用的引數,目的是用來接收呼叫該函式時傳遞的引數。

實際引數(實參):傳遞給被呼叫函式的值。

通俗的來講,形參就像物理計算中的公式中的符號,比如ω,a,v等,而實參就是在計算中的實際的數值。呼叫過程就是實現形參與實參的結合,把實參的值通過呼叫傳遞給形參,相當於把具體的值代入公式進行計算。

9樓:一超獨大

1)實參可以是任意型別的資料。

2)形參可以是變數,或預設常量,不可以是表示式。

如果是預設常量,只能定義在引數列表的後面。比如 int func(int a,int b=0)是正確的。

int func(int a=0,int b)是錯誤的。

在c語言的表示式(不包括賦值表示式)中,如果運算子兩邊的整數型別不相同,將進行型別之間的轉換。

10樓:

系統不是所有型別都可以自動轉換的,這時只能利用強制型別轉換,能自動轉換的和強制型別轉換是沒有區別的。

11樓:匿名使用者

舉個例子吧:

int a;float b;

如果你把a賦值給b,b=a,由於變數型別不同,系統會自動把你的表示式變成。

b=(float)a ,這個過程轉變看不到的,是在編譯器內部實現的。

而手動強制轉換就直接是第二個表示式。

c語言if語句()中可以有多個表示式嗎

12樓:業靈慧騰熙

if(a=2)

elsed=3;

這個語句沒有語法錯誤(可能會有警告),是可以執行的。

但是這個語句永遠沒有機會執行else部分。

a=2賦值表示式的計算結果就是2,當這個表示式出現在if語句邏輯表示式位置上的時候,它的計算結果是被當作邏輯值處理的,在c語言中用整型數表示邏輯量,非零表示「真」,所以這是一個永真式;這個if的邏輯條件永遠不會為假。

也就是說,這裡所表達的邏輯條件並不是「a的內容是否等於2」,而是向變數a中送入資料2。

已知各變數的型別說明如下,則以下不符合c語言語法的表示式是

13樓:匿名使用者

選aa:c語言允許負數做分母,(%求餘本就是除法的特殊運算),只是結果是正是負不一定。

但是!不允許實數參與求餘運算,因為會被除盡,無法產生餘數。

c語言中表示式的型別是什麼意思

14樓:網友

舉個例子吧:int a;float b;如果你把a賦值給b,b=a,由於變數型別不同,系統會自動把你的表示式變成b=(float)a ,這個過程轉變看不到的,是在編譯器內部實現的。而手動強制轉換就直接是第二個表示式。

15樓:凡人修夢

補充樓上:

邏輯表示式 :&並)、|例子:

a&&b算數表示式:就是加減乘除表示式,例子:a+b-c關係表示式:

==、例子:a !

= b賦值表示式:=,例子:a = b

條件表示式:?:例子:a>b ? 1:0,意思是如果a>b,此表示式值為1,反之為0

此外,還有複合表示式,複合意思就是上面的型別疊加,如 +=例子:a +=b,表示a = a + b

ps:樓主可以根據表示式命名去理解。

16樓:漫步者

有幾種運算子,就有幾種表示式 。

邏輯表示式。

算數表示式。

關係表示式。

賦值表示式。

條件表示式。

一個C語言的題目,一個c語言題目

include main if sum i printf i 鑑於lz說還沒自學到for,那樣的話,應該也不會用函式,陣列之類的東西,所以只能寫的這麼複雜了。include int main i 1 if sum n 判斷是否是完數,是則列印。printf n sum 0 return 0 執行結果...

c語言裡輸入和定義的資料型別可以不同嗎

有些型別可以相容,比如可以把int型賦值給double型,但是反過來就會有精度上的損失 可以,有些會自動轉換型別的 為什麼c語言中scnaf的輸入的資料型別必須和定義的相同,而printf可以不同?彙編?你注意到了那個 取地址符號 了嗎,他會將你輸入的東西存到那個地址裡面,如果資料型別不匹配的話會產...

在c語言中指標佔用多少位元組,在C語言中一個指標佔用多少位元組。

一個指標變數在記憶體中佔兩個位元組 all模式編譯 一個指標變數在記憶體中佔四個位元組 32位機器上 一般都是32位機器的,所以四個位元組咯。指標即為地址,指標幾個位元組跟語言無關,而是跟系統的定址能力有關。指標是一個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的一個地址。要搞清一個指標需要搞清指...