設有變數定義char a aint i 3,j

2021-03-10 20:27:50 字數 3084 閱讀 3497

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 ...