C語言問題

時間 2021-09-11 22:24:13

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