y i jx,其中y 5 0,i 3,j 5,x 2 5,求結果和解答過程,謝謝

2021-04-18 14:40:29 字數 5370 閱讀 8694

1樓:匿名使用者

++x = 2.5+1 = 3.5

x++x=3.5

第二步計算

bai 有型別轉換du

int型的j 參與運算zhi

所以答案會dao強制轉換為int型

所以j = 5 *3.5 = (int)17.5 所以轉換後版 j=17 (強制取整數權位)

後面依次正常計算

i=i-j = 3-17 = -14

最後一步又涉及型別轉換

y=y+i = 5.0 + (double)-14 = -9.0

2樓:匿名使用者

結果得看你復這y i j x 四個變制量如何定義的如果四個變數都是浮點型的話,那麼結果就是9.5因為賦值運算所以從右到左執行,先執行++x, x變成3.5, j*=3.

5之後j就成17.5了,然後 i-=17.5之後i就成了-14.

5, 然後y+=-14.5 就等於-9.5了

如果四個變數y x是浮點型,i j是整型的話結果就是-9.0,過程和上面一樣,只不過會在給j賦值的時候把小數部分給清掉

c語言計算問題:y+=i-=j*=++x 已知y+5.0 i=3 j=5 x=2.5

3樓:hiphop夜半天使

求什麼 求y嗎?

如果是我說的

++x = 2.5+1 = 3.5

j*= ++x

則 j = j * x = 5 * 3.5 = 17.5i-=j

則 i = i - j = 3- 17.5 =-14.5y += i

則 y = y + i = 5 + (-14.5) = -9.5

4樓:命不該絕

這是優先順序的問題吧。原題可表示為

y+=(i-=(j*=(++x))),答案自己動手啊親

注:「+="「-=」「*=」優先順序從右至左,++x優先順序很高

5樓:古爾格

可以這麼來想,

y=y+i;

i=i-j

j=j*++x;

要求y,則先求j,

j=5*3.5=17.5

i=3-17.5=-14.5

y=5+(-14.5)=-9.5

歡迎追問

6樓:匿名使用者

gun g++ 4.4.7 版本 編譯 結果為 -9

為什麼c語言中int i=3,j=5;float x=2.5;double y=5.0;表示式i-=j*=x+y的值不是-34.5而是-34?

7樓:匿名使用者

不是bai運算子取整,之所以取整的du原因是,型別轉換!

資料zhi型別dao的轉換一般分為隱含轉換和強制版轉換兩種;權隱含轉換

算術運算子 關係運算子 邏輯運算子賦值運算子等二元運算子要求兩個運算子的型別一致,算術運算 關係運算中參與運算的型別不一致時要進行隱含轉換,原則是將低型別轉化成高型別(型別越高資料精度越高,double>float>unsigned long>long >int>short>char>)這種轉化是電腦自動完成,是安全的,資料精度沒有損失;

強制轉換

一般涉及到將高型別轉化成低型別時使用,不安全,可能在精度的損失,有兩種方法

1型別說明符(表示式)//c++強制轉化符號2(型別說明符)表示式 //c強制轉化符號;

如 float z=7.56;

int a;

a=int(z);或a=(int)z;

i-=j*=x+y表示式分解如下:

double tmp1 = (double)x + y;

j = int( (double)j * tmp1 ); // j =int( 5.0 *7.5) =37

i-=j; // i = 3 - 37 = -34;

8樓:匿名使用者

答案在j*=這裡,要賦值給j,必然要進行強制轉換成整型,即由j*=7.5的結果j=37

i-=j,i=-34

9樓:匿名使用者

i-=j*=x+y

===>

i=i-(j*(x+y)),最後因為i是整數,自動取整捨去小數

設有變數定義char a='a' ; int i=3, j=5, b ; float x=2.5 ; double y=5.0, z; ,下面表示式值。

10樓:ai知非

這和你復變數的定義有關,你的j和制i是int型的,那第bai一個++x後是3.5後再du乘5是17.5,這是因為j是int型,所zhi以就四捨五入了,j就變為17,然後3-17=-14,5.

0+(-14)=-9.0,改法可以把j和i改為double或float

剩下的基本可以類推吧,就

dao是決定數字的值的不是計算的結果,是它本身的型別第四個是一個強制轉換,把x和y都轉換為int型,所以x的值是2,y的值是5,2/5的值是0,再加5就是5了

11樓:匿名使用者

這和你變數

bai的定義有關,你的j和dui是int型的,那第一zhi個++x後是3.5後再乘dao5是17.5,這是因為j是int型,專所以就四舍五屬入了,j就變為17,然後3-17=-14,5.

0+(-14)=-9.0,改法可以把j和i改為double或float

剩下的基本可以類推吧,就是決定數字的值的不是計算的結果,是它本身的型別

第四個是一個強制轉換,把x和y都轉換為int型,所以x的值是2,y的值是5,2/5的值是0,再加5就是5了

基本就這樣了,如果不懂可以再追問

設有變數定義char a=』a』; int i=3, j=5,b; float x=2.5; double y=5.0, z;計算表示式的值: a+i-j+x/y

12樓:匿名使用者

a定義為字元『a』,『a』在ascii碼中是第97個

(float)(a+b)/2+(int)x%(int)y 設a=2,b=3,x=3.5,y=2.5 求表示式值

13樓:杜xiao若

詳細計算分析過程如下:

1、在該表示式中,分別有以下幾個運算子:圓括號、強制型別轉換、除法、取餘和加法。

根據運算子的優先順序,圓括號優先順序最高,其次是強制型別轉換,然後是除法「/」和取餘「%」,最後是加法運算。因此,首先計算圓括號中的內容,由於a=2,b=3,表示式轉化為:(float)5/2+(int)x%(int)y;

2、進行運算型別強制轉換,(float)5中是將int型別的值轉為float型別,因此整數5轉換為小數5.0,由於x=3.5,y=2.

5,x、y均為小數,強制轉換為int型別時,直接取其整數,捨去小數,(int)3.5轉為3,(int)2.5轉為2,表示式轉化為:

5.0/2+3%2;

3、進行除法和取餘運算,5.0/2=2.5,3%2=1,因此,表示式轉化為:2.5+1;

4、進行加法運算,float型別的值與int型別的值相加,最終結果將輸出float型別的值,因此,加法運算的最終結果為:3.5。即,表示式最終的結果為3.5。

擴充套件資料

1、運算子優先順序存在的必要性:在一個表示式中可能包含多個有不同運算子連線起來的、具有不同資料型別的資料物件;由於表示式有多種運算,不同的運算順序可能得出不同結果甚至出現錯誤運算錯誤,因為當表示式中含多種運算時,必須按一定順序進行結合,才能保證運算的合理性和結果的正確性、唯一性。

2、運算子優先順序的具體操作方式:優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。表示式的結合次序取決於表示式中各種運算子的優先順序。

優先順序高的運算子先結合,優先順序低的運算子後結合,同一行中的運算子的優先順序相同。

14樓:我今天上課了

計算過程:

a+b = 5

(float)5 5.0

5.0/2 2.5

(int)x 3

(int)y 2

%取餘 1

最後+ 2.5+1 = 3.5

15樓:

對浮點數強制型別轉換成int型會直接截位,你可以認為是取整也就是(int)x 為3 (int)y為2%是求餘數 所以 3%2是1

(a+b)/2轉成float是2.5

所以是2.5+1=3.5

16樓:匿名使用者

4和float之間什麼運算子?

第一題3

第二題3.5

你要詳細步驟?呵呵

#include

#include

using namespace std;

int main()

17樓:匿名使用者

(float)(a+b)/2=2.5

(int)x%(int)y=1

最後結果為 3.5,因為一個int與一個float型別的數相加結果會自動轉化為float型別

c語言計算問題:計算(x+y)+i++ 的值,已知x=2.5 y=5.0 i=3

18樓:enjoy何成亮

#include

int mian ()

最終復結制果為:10.5

19樓:轉彎

i++,後加(前加後加不知道的話跟你說了也沒用)

7.5+3 =10.5 然後i=4.

最後(x+y)+i++ = 10.5, i = 4了。

20樓:普雅花之劍

最後的值為10.5. (2.5+5)+3 i的值為3 算完之後i才加一。

程式設計計算下列公式的值,y=x-x^3/3!+x^5/5!-x^7/7!+…,精確到第n項,其中n=10,x=2.5

21樓:匿名使用者

^分析:y=(-1)^(n-1)*x^(2n-1)/(2n-1)!

主要**如下回

int x=2.5,n=10;

double y=0,t=1,答t2=1;

for(int i=1;i

22樓:匿名使用者

double calc(int n, double x)result = result1 / result2;

return result;

}int main()

已知3x 2y 5z 0,2x 5y 4z 0,且x,y,z均不為0,求3x x 2y y 5z z 5x x y y 9z z的值

解 視z為常數,由已知兩方程,可解得 x 3z y 2z 將其代入待求值式中,得 3x x 2y y 5z z 5x x y y 9z z 3 3z 2 2 2z 2 5z 2 5 3z 2 2z 2 9z 2 40z 2 40z 2 1 視z為常數,由已知兩方程,可解得 x 3z y 2z 將其代...

已知2x3y5,用含x的代數式表示y,則y

2x 3y 5,解得 y 5 2x 3 故答案為 5 2x 3.已知2x 3y 5 用含x的代數式表示y,則y 怎麼做,如果可以的話解 將2x移到右邊。得3y 5 2x再除以3得y 5 2x 3 方程2x 3y 5,用含x的代數式表示y,y 當x 1時,y 方程2x 3y 5,移項得,3y 2x 5...

已知5x 4y 3z 10,求9 x2 9 y2 z2 的最小值

先用均值不等式得9 x 2 9 y 2 z 2 2 3 x 2 y 2 z 2 再利用已知及柯西不等式得到x 2 y 2 z 2 2 最後分析等號成立條件得x 1,y 4 5,z 3 5時9 x 2 9 y 2 z 2 取到最小值為18 1 由題設及點的引數座標知,m cos sin n cos s...