1樓: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了
2樓:匿名使用者
這和你變數
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
3樓:匿名使用者
a定義為字元『a』,『a』在ascii碼中是第97個
若有定義:int a=7;float x=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4的值是 請詳細解答,非常感謝
4樓:四捨**入
答案為2.5.
這個關鍵是優先順序
問題1、括號永遠優先順序最高
2、無括號的預設優先順序
* / 運算優先順序最高
% 運算優先順序次高
+ -運算優先順序最低
所以是 2.5 +
5樓:陳開武
由條件可知表示式: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程式執行結果如下圖所示:
6樓:匿名使用者
(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
7樓:匿名使用者
一共出現這麼幾個操作符:(),+,*,%,/,()優先順序順序依次為:(分塊),(強制型別轉換),*,+,/,%,其中 / 和 % 優先順序相同
所以運算的順序應該是:
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;
8樓:匿名使用者
(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
9樓:**還有車
這裡有乙個語言的隱式型別變換,相當於(int)1/(int)4,可以上網看一下隱式型別轉換就明白了,而且他做錯了,在乘,除,取餘,優先順序相同,左結合性從左往右計算,答案為2.500000,x為單精度實型,隱式變換,保留七位有效數字
10樓:匿名使用者
樓主採納的答案是錯誤的! 我一進來看這麼多人點贊,我以為是對的,也就直接點讚,等我看完才知道是錯的!!
他的最終結果是正確,也是巧合.
% * / 的運算優先級別是一樣的,而+ - 的優先級別比剛才那些運算級別低.這裡樓主採納的那個答案在這點上描述錯誤了!
11樓:匿名使用者
a%3=1;
x+a%3=3;
(x+y)%2=1.2/4=0(int)
c語言設程式中變數定義語句如下int a=10,b=4float x=2.5,y=3.5寫出下列表示式的值
12樓:蔡浩
(1)2,0 這個應該沒問題那 除法(2)2,4 這個也簡單的 求餘數
(3)6 a+x會變成整形的 然後在除以2(4)7.0000000 首先將a+b轉化為float 再除以二 列印會顯示8位
(6)0 int x =2 int y =3 x/y=0
望採納 如果有不對的地方請指出
13樓:匿名使用者
1)2,0 整形相除,保留整數
2)2,4 取餘數
3)6.25 轉換為浮點數了
4)75)0 先轉換為整形
14樓:倪秀榮悉風
問題中沒有左值,總體感覺是乙個不太完整的問題。
如果純從表示式求值來看,表示式的結果會是float型,因為c缺省會把資料型別往取值範圍大的運算元做擴充套件,後續的具體值應該不難算。
設有變數定義inta21,2,3,4,5,6pa表示式p2p
p 2 a表示來 將p定義為乙個指向自 含2個元素的一維陣列的指標變數,那麼二維陣列就可以看作是一維陣列a 3 其中每乙個元素都是乙個一維陣列,a 1 a 2 a 3 則p 2就指向了a 3 p 2 是a 3 的首位址,p 2 就是a 3 的首元素,即為5。p 2 p 2 這兩個表示式是等價的,當然...
c語言定義結構體變數,C語言 定義結構體變數
樂跑小子 首先,定義一個結構的一般形式為 struct結構名 成員表由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為 型別說明符 成員名 成員名的命名應符合識別符號的書寫規定。例如 struct stu 在這個結構定義中,結構名為stu,該結構由4個成員組成。...
C語言中定義函式,變數是指向指標的變數,呼叫時要怎麼呼叫
首先fact函式返回的是double型別,第乙個引數是double型的二維指標.所以是 c i fact c,y,z 因為double c 3 是二維double指標,c i 是乙個double一維指標,c i 就是double型資料。c是二維指標,可以傳過去 c i fact c,y,z c i ...