1樓:匿名使用者
c語言的話應該是double,因為c語言資料進行計算時資料型別會由低階向高階進行隱式轉化,sqrt函式得到的是double型別,比其他的int資料型別高,所以整個結果得到的是double型別
2樓:瑞悅公尺蘊美
double
首先計算
18/4得到的int型的。
然後結果和sqrt(4.0)計算,sqrt返回double型的數。
然後/8.
由於c語言算數計算向上相容,所以結果為double型的。
但結果是1.000000是不是?
3樓:耿兆伍天祿
答案為1,整形運算
18/4=4餘數丟掉,後面按順序從左到右算,謝謝採納。
表示式18/4*sqrt(4.0)/8值的資料型別為(
4樓:匿名使用者
double
首先計算18/4得到的int型的。
然後結果和sqrt(4.0)計算,sqrt返回double型的數。
然後/8.
由於c語言算數計算向上相容,所以結果為double型的。
但結果是1.000000是不是?
5樓:匿名使用者
c語言的話應該是double,因為c語言資料進行計算時資料型別會由低階向高階進行隱式轉化,sqrt函式得到的是double型別,比其他的int資料型別高,所以整個結果得到的是double型別
6樓:匿名使用者
小數型別預設是double,要用float得強制型別轉換。
7樓:尤里安龍捲風
就是sqrt()返回的型別
記得是返回double的吧
c語言中怎麼算表示式的資料型別例如:表示式18/4*sqrt(4.0)/8值的資料型別為什麼?謝謝
8樓:幻翼高達
需要準備的材料分別有:電腦、c語言編譯器。
1、首先,開啟c語言編譯器,新建乙個初始.cpp檔案,例如:test.cpp。
2、在test.cpp檔案中,輸入c語言**:printf("%d", sizeof(18/4*sqrt(4.0)/8));。
3、編譯器執行test.cpp檔案,此時通過sizeof得到其佔用位元組數為8,因此是double型別的資料。
9樓:風過滄海
double
18/4 = 4 int 與 int運算仍為 intsqrt(4.0) = 2.0 double 返回值的型別是函式sqrt定義的
18/4*sqrt(4.0) 為int與double運算,為保證精度將前面的int提公升為double型別,此時結果為double
double/int 與前面類似 ,要提公升int為double,結果仍為double
10樓:匿名使用者
/和*等於平時計算的除以(不取餘數)和乘以 然後sqrt()等於開方
18/4*sqrt(4.0)/8=18除以4乘以2.0除以8=1.0
請問一下:表示式18/4*sqrt(4.0)/8值的資料型別為int嗎?sqrt()又是什麼?
11樓:匿名使用者
sqrt 開平方根。 語法: float sqrt(float arg); 返回值:
浮點數 函式種類: 數**算 參考: http:
//article.china-code.***/3/41/28037/ccwypc69.
html
12樓:匿名使用者
該表示式的值應該為double型,其中sqrt是系統庫函式,用於求形參的平方根,形參和返回值型別均為double型別,按c表示式計算規則,該式先就算18/4得4(int型),然後就算4×2.0得8.0(double型),然後計算8.
0/8得1.0(double)
C 裡面為什麼表示式19 4 sqrt 4 0 5的值為不是1 9(實數型別,或者整數型別不確定)
因為先做19 4這個做的是整數除,結果是4 然後再繼續向後算。你新增math.h這個引用沒?c 表示式18 4 sqrt 4.0 5值的資料型別是 怎麼做 1.這個牽涉到強制轉化問題,有個優先順序,低精度的和高精度的資料運算時,把低精度的轉化為高精度的資料,結果是高精度的資料2.由於sqrt返回值是...
vb中表示式為523422的值
答案為10的計算結果,5 2 10 後面的3 4 0.75與2 2 4除法運算後,結果沒整數部分,所以 0,所以答案為10 option explicit private sub form load msgbox 5 2 3 4 2 2 顯示為10 end sub vb表示式2 5 6 4mod5 ...
C語言中表示式105的值是,C語言表示式105的值是
關係運算子 運算順序自左往右,所以1 0 為0,0 5為1。所以表示式的值為1。根據運算子表,是從左往右結合的。先看1 0是假,返回0。原式就變成 0 5,是真,返回1 所以結果就是 1。值是1,1 0為假 值為0 0 5為真 值為1 c語言 表示式1 0 5的值是 是1。根據c語言運算規則,檢查左...