若有定義語句int a 7 float x 2 5,y 4 7則表示式x a 3 int x y

2021-03-27 11:09:07 字數 4868 閱讀 3593

1樓:陳開武

由條件可知表示式:x+a%3*(int)(x+y)%2/4的運算結果為2.5。

解答步驟如下:

x+a%3*(int)(x+y)%2/4

=2.5+7%3*(int)(2.5+4.7)%2/4      //將a,x,y的值帶入

=2.5+1*7%2/4    //(int)(2.5+4.7)=(int)7.1=7

=2.5+7%2/4   //運算子優先順序相同,按照從左到右進行計算=2.5+1/4     //%為取餘運算子,7除以2餘數是1=2.

5   //1/4是兩個整型相除,最後得到的型別也是整型0程式執行結果如下圖所示:

2樓:我二次元穿越

看了他們的回答,我覺得少了一點解釋,對於初學者來說,應該是這樣解釋,%只能用於整數運算,所以它們的變數都是整數,所以才會有後面的1/4輸出結果是0而不是0.25,答案並非x+0.25而是x+0=2.5

3樓:匿名使用者

(x+y) = 7.2

(int)(x+y) = 7

a%3 = 1

a%3*(int)(x+y)%2/4 = 1*7%2/4 = 7%2/4 = 1/4 = 0(所有變數均是int型)

x+0 = 2.5

4樓:匿名使用者

這個問題很簡單的,* ,/,%,的優先順序一樣,所以遵循自作至右的原則來運算。

先看a%3*(int)(x+y)%2/4。a=7,所以a%7的值等於1,然後x+y=7.2,因為int型轉換,轉換後為7;1*7依然是7;7%2=1;1/4=0(因為都是整數)。

x+0=x=2.5;

故結果為2.5

5樓:匿名使用者

(x+y) = 7.2

(int)(x+y) = 7

a%3*(int)(x+y) = 1

a%3*(int)(x+y)%2/4 = 1%2/4 = 0/4 = 0(所有變數均是int型)

x+0 = 2.5

若有定義:int a=7;float x=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4的值是

6樓:

public class t0609

}**********=測試結果**********===2.5

說明:這個關鍵是優先順序問題

1)括號永遠優先順序最高

2)無括號的預設優先順序

* / 運算優先順序最高

% 運算優先順序次高

+ -運算優先順序最低

所以 是 2.5 + 這個式子的結果

7樓:斷崖摩羯

* / 運算優先順序最高

% 運算優先順序次高

+ -運算優先順序最低

%是求餘符號

所以 是 2.5 +

正確答案:2.5

8樓:水de幻想

#include

void main ()

結果為2

若有定義:int a=7;float x=2.5,y=4.7; ,則表示式x+a%3*(int)(

9樓:匿名使用者

一共出現這麼幾個操作符:(),+,*,%,/,()優先順序順序依次為:(分塊),(強制型別轉換),*,+,/,%,其中專 / 和 % 優先順序相同屬

所以運算的順序應該是:

1.執行分塊

(x+y) = 2.5 + 4.7 = 7.2;

2.執行強制轉換

(int)7.2 = 7;

3.做乘法運算

3 * 7 = 21;

4.現在表示式變成了

x + a % 21 % 2 /4;

先做a % 21 % 2/4 = 7 % 21 % 2 / 4= 7 % 2/4 = 1 /4 = 0;

最後執行:x + 0 = 2.5 + 0 = 2.5;

若有定義:int a=7;float x=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4的值是?

10樓:匿名使用者

x+a%3*(int)(x+y)%2/4

=2.5+7%3*(int)(2.5+4.7)%2/4=2.5+1*7%2/4

=2.5+7%2/4

=2.5+1/4

=2.5

int x=1,y=3,z;則表示式z=x>y?x-y:x+y的值為多少

11樓:匿名使用者

int x=1,y=3,z;則表示式 z=x>y?x-y:x+y 等同於z = a?b:c,如果a為真,則等於b,不為真則等於c

因為,x>y 1>3 為假,所以z=x+y=1+3=4

12樓:

答案是:4

x>y的邏輯值為假,則取冒號後面的值,所以把x+y的值賦值給z,而x+y等於4,所以z的值為4。

13樓:育知同創教育

int x=1,y=3,z;則表示式z=x>y?x-y:x+y的值為4

若有定義:int a=7;float x=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4的值是()。 5

14樓:匿名使用者

x+a%3*(int)(x+y)%2/4

=2.5+7%3*(int)(2.5+4.7)%2/4=2.5+1*7%2/4

=2.5+0

=2.5

若有定義:int a=7;float x=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4的值是 請詳細解答,非常感謝

15樓:四舍**入

答案為2.5.

這個關鍵是優先順序

問題1、括號永遠優先順序最高

2、無括號的預設優先順序

* / 運算優先順序最高

% 運算優先順序次高

+ -運算優先順序最低

所以是 2.5 +

16樓:陳開武

由條件可知表示式:x+a%3*(int)(x+y)%2/4的運算結果為2.5。

解答步驟如下:

x+a%3*(int)(x+y)%2/4

=2.5+7%3*(int)(2.5+4.7)%2/4      //將a,x,y的值帶入

=2.5+1*7%2/4    //(int)(2.5+4.7)=(int)7.1=7

=2.5+7%2/4   //運算子優先順序相同,按照從左到右進行計算=2.5+1/4     //%為取餘運算子,7除以2餘數是1=2.

5   //1/4是兩個整型相除,最後得到的型別也是整型0程式執行結果如下圖所示:

17樓:匿名使用者

(x+y) = 7.2

(int)(x+y) = 7

a%3 = 1

a%3*(int)(x+y)%2/4 = 1*7%2/4 = 7%2/4 = 1/4 = 0(所有變數均是int型)

(注意是float)

x+0 = 2.500000

18樓:匿名使用者

一共出現這麼幾個操作符:(),+,*,%,/,()優先順序順序依次為:(分塊),(強制型別轉換),*,+,/,%,其中 / 和 % 優先順序相同

所以運算的順序應該是:

1.執行分塊

(x+y) = 2.5 + 4.7 = 7.2;

2.執行強制轉換

(int)7.2 = 7;

3.做乘法運算

3 * 7 = 21;

4.現在表示式變成了

x + a % 21 % 2 /4;

先做a % 21 % 2/4 = 7 % 21 % 2 / 4= 7 % 2/4 = 1 /4 = 0;

最後執行:x + 0 = 2.5 + 0 = 2.5;

19樓:匿名使用者

(x+y) = 7.2

(int)(x+y) = 7

a%3 = 1

a%3*(int)(x+y)%2/4 = 1*7%2/4 = 7%2/4 = 1/4 = 0(所有變數均是int型)

x+0 = 2.5

20樓:**還有車

這裡有一個語言的隱式型別變換,相當於(int)1/(int)4,可以上網看一下隱式型別轉換就明白了,而且他做錯了,在乘,除,取餘,優先順序相同,左結合性從左往右計算,答案為2.500000,x為單精度實型,隱式變換,保留七位有效數字

21樓:匿名使用者

樓主採納的答案是錯誤的! 我一進來看這麼多人點贊,我以為是對的,也就直接點贊,等我看完才知道是錯的!!

他的最終結果是正確,也是巧合.

% * / 的運算優先順序別是一樣的,而+ - 的優先順序別比剛才那些運算級別低.這裡樓主採納的那個答案在這點上描述錯誤了!

22樓:匿名使用者

a%3=1;

x+a%3=3;

(x+y)%2=1.2/4=0(int)

c語言:若有定義:int a=7;float x=2.5,y=4.7; 則表示式x+a%3*(int)(x+y)%2/4 的值為 5

23樓:金剛俠

按照加減乘除運演算法則及順序,還有結果轉換型別為float,結果為2.5

24樓:雲中鶴隱

x+a%3*(int)(x+y)%2/4

=x+1*7%2/4

=x+1/4=x

若有定義inta7floatx25,y

x a 3 int x y 2 4 2.5 7 3 int 2.5 4.7 2 4 2.5 1 7 2 4 2.5 7 2 4 2.5 1 4 2.5 若有定義 int a 7 float x 2.5,y 4.7 則表示式x a 3 int x y 2 4的值是 public class t0609...

若有定義intaa要引用若有定義inta34p4a要引用a23用C

我倒,你這個是選擇題,對吧 看了三遍才看懂題意.解 int a 3 4 定意一個二維陣列 p 4 a 這裡就是定義p為指向包含4個元素的一維陣列的指標變數,那麼,你試想一下,二維陣列在記憶體中存放的形式是怎麼樣的?a賦給 p 4 a就是a 0 0 的地址,a就是指向零行首列地址的,它的趨勢是指向行的...

若有定義 int a 7 float x 2 5,y 4 7則表示式x a 3 int

一共出現這麼幾個操作符 優先順序順序依次為 分塊 強制型別轉換 其中專 和 優先順序相同屬 所以運算的順序應該是 1.執行分塊 x y 2.5 4.7 7.2 2.執行強制轉換 int 7.2 7 3.做乘法運算 3 7 21 4.現在表示式變成了 x a 21 2 4 先做a 21 2 4 7 2...