1樓:匿名使用者
(1)2.5
解:a%3=7%3(7對3取餘)=1;a%3*(int)(x+y)%2/4=1*(int)(2.5+4.
7)%2/4=1*7%2/4=1*1/4=0;所以,x+a%3*(int)(x+y)%2/4
=2.5
(2)3.500000
解:float表示浮點型,即應保留六位小數。(float)(a+b)=(float)(2+3)/2=5.
000000/2=2.500000;(int)x%(int)y=(int)(3.5)%(int)(2.
5)=3%2=1;當float型與int型相加時,都應該轉化為float型。故,(float)(a+b)/2+(int)x%(int)y=2.500000+1.
000000=3.500000
2樓:擺渡人生
正解!!
1、x+a%3*(int)(x+y)%2/4=2.5+7%3*(int)(2.5+4.
7)%2/4=2.5+7%3*(int)(7.2)%2/4=2.
5+7%3*7%2/4
=2.5+1*7%2/4
=2.5+7%2/4
=2.5+1/4
=2.5+0
=2.5
2、(float)(2+3)/2+(int)3.5%(int)2.5=(float)(5)/2+(int)3.5%(int)2.5=5.000000/2+3%2
=2.500000+1
=3.500000
做這樣的題時只需要明白c++上變數的型別就行,再就是運算的優先等級!
圓方括號、箭頭一句號,
自增自減非反負、針強位址長度,
乘除,加減,再移位,
小等大等、等等不等,
八位與,七位異,六位或,五與,四或,三疑,二賦,一真逗。
其中「,」號為乙個等級分段。
3樓:匿名使用者
2.求下面算術表示式的值:
(1)x+a%3*(int)(x+y)%2/4設x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y設a=2,b=3,x=3.5,y=2.5
(1):
#include
int count(int a,float x,float y);
void main()
int count(float a,float x,float y)(2):
#include
float count(int a,int b,int x,float y);
void main()
float count(int a,int b,int x,float y);
4樓:匿名使用者
2.53.500000
5樓:匿名使用者
第一題~#include
int main()
6樓:
(1)x+a%3*(int)(x+y)%2/4涉及到運算子:優先順序從高到低 (), (int), * % / , +
x+a%3*(int)(x+y)%2/4
=2.5+7%3*(int)(2.5+4.7)%2/4=2.5+7%3*(int)(7.2)%2/4=2.5+7%3*7%2/4
=2.5+1*7%2/4
=2.5+7%2/4
=2.5+1/4
=2.5+0
=2.5
(2)(float)(a+b)/2+(int)x%(int)y涉及到運算子:優先順序從高到低 (), (float) (int), % / , +
(float)(2+3)/2+(int)3.5%(int)2.5=(float)(5)/2+(int)3.5%(int)2.5=5.0/2+3%2
=2.5+1
=3.5
c語言問題,C語言問題。
考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...
C語言問題,c語言問題?
自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...
c語言問題,C語言問題?
這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...