1樓:豬頭或火寶寶
你好!!bai!
c語言中浮點數的預設型別
du是double,因為double的精zhi度高,18/4*sqrt(4.0)/8這個運算中有浮dao點型資料即sqrt(4.0),系內
統會自動把容其他型別的資料想double轉換。
關於你的補充是不對的。
比如:float b=6.5;
int a=2;
那麼a+b的型別就是float,因為這個表示式中最高的型別就是float,那麼int 就會向float轉換。
總結就是要是表示式中都要向型別高的轉化。
【c語言】表示式18/4*sqrt(4.0)/8值的資料型別是
2樓:忽忽上升
sqrt(4.0)這個函式返回值是double型別
3樓:何文傑
在c語言程式設計中,在儲存資料時,會按照一定規則儲存,其中,float型別資料會轉換成double型資料進行儲存。教材上也能找到原話。希望能幫到你。
c語言中怎麼算表示式的資料型別例如:表示式18/4*sqrt(4.0)/8值的資料型別為什麼?謝謝
4樓:幻翼高達
需要準備的材料分別有:電腦、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型別的資料。
5樓:風過滄海
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
6樓:匿名使用者
/和*等於平時計算的除以(不取餘數)和乘以 然後sqrt()等於開方
18/4*sqrt(4.0)/8=18除以4乘以2.0除以8=1.0
c語言問題 表示式18/4*sqrt(4.0)/8值的資料型別是
7樓:匿名使用者
其中sqrt(4.0)/8是浮點型,式子中浮點型的精確度最高,所以詞表示式的資料型別是浮點型:float
8樓:匿名使用者
c語言求平方根函式:sqrt 功 能: 計算一個非負實數的平方根
函式原型: 在vc6.0中的回math.h標頭檔案的答函式原型為double sqrt(double);
從中可以知道:返回值最好是double型別的,因為sqrt的返回值是double型別的。
9樓:匿名使用者
datastruct:float
表示式18/4*sqrt(4.0)/8值的資料型別為(
10樓:匿名使用者
double
首先計算18/4得到的int型的。
然後結果和sqrt(4.0)計算,sqrt返回double型的數。
然後/8.
由於c語言算數計算向上相容,所以結果為double型的。
但結果是1.000000是不是?
11樓:匿名使用者
c語言的話應該是double,因為c語言資料進行計算時資料型別會由低階向高階進行隱式轉化,sqrt函式得到的是double型別,比其他的int資料型別高,所以整個結果得到的是double型別
12樓:匿名使用者
小數型別預設是double,要用float得強制型別轉換。
13樓:尤里安龍捲風
就是sqrt()返回的型別
記得是返回double的吧
c語言試題,新手不懂,表示式18/4*sqrt(4.0)/8值的資料型別是? 10
14樓:金色潛鳥
最終資料型別是 double .
但是copy,一開始bai
計算 的
18/4 是整型du
除以整型 得整型 4。
計算步驟:
(1)zhi18/4 = 4
(2) sqrt(4.0) = 2.0 -- sqrt() 結果是 double 型。dao
(3) 4 = 4.0
(4) 4.0 * 2.0 = 8.0
(5) 8.0 / 8 = 1.0
結果 是 1.0
15樓:餘東祥
4.0暴露了資料的型別,float
表示式18/4*sqrt(4.0)/8值的資料型別是什麼,求回答,給好評,這是c語言
16樓:匿名使用者
為double型別,因為sqrt()原型為double sqrt(double_x),所以上述表示式返回值為double型別
17樓:匿名使用者
根據http://www.cplusplus.
com/reference/cmath/sqrt/的來介紹自可知,在不同版本的c語言bai標準中,sqrt的返回du值型別是不同的,例如zhi在c99版,其原型有
1)daodouble sqrt (double x);
2)float sqrtf (float x);
3)long double sqrtl (long double x);
根據型別轉換的規則可知,這個版本的結果應該是float型別的
18樓:匿名使用者
sqrt(4.0)/8是一個float型,所以整個表示式是個float型。
19樓:香夢沉酣
資料型別是float啊!18/4是整形,主要是sqrt(4.0)是一個小數,所以整個結果都為小數了。
表示式18/4*sqrt(4.0)/8值的資料型別是什麼?
20樓:匿名使用者
double
首先計算18/4得到的
baiint型的。
然後結果和dusqrt(4.0)計算,sqrt返回zhidouble型的數。dao
然後/8.
由於專c語言算數計屬算向上相容,所以結果為double型的。
但結果是1.000000是不是?
21樓:己亮禾代
答案ad肯定不
來對。自
因為int(4.0)的結果一定不是整數,所以整個運算結果不是整數。答案a不對。
一個有結果的算式,最後的資料型別一定是確定的。答案d不對答案一定是在b
和c中選擇。
我選擇b,請明白
的人給解釋吧。
表示式18/4*sqrt(4.0)/8值的資料型別是 ( )。 a、int b、float c、double d、不確定 選哪一個呀!!!
22樓:匿名使用者
選c,double級別高,sqrt()出來的結果是double,不管別的,最後一定是double
23樓:匿名使用者
c,除數和被除數中任意一個是實型結果都會是實型,而sqrt預設為double,所以向高等級變化!應是雙精度實型!
24樓:有錢買不起房子
sqrt返回double型別,整個表示式將按double,所以選擇c
c語言中表示式的值怎麼算,C語言中表示式的值怎麼算
此式即等同於 4!3 2 4 1 5 1代表真,0代表非,則原式即 1 1 0 所以值為0。例如 12 5 2 只為這個是整數運算,結果只取整數部分。62 1 6 7 7 6 1 13 49 623.2 6 7 1 44.8 可以。逗號運算子,從左至右計算,取最後一個表示式的值作為整個語句的值。先算...
表示式43750的值為,在C語言中,表示式532840的值為。
步驟 1 1 7 4 2 1 0 3 0 所以最後結果是 0 在c語言中,表示式5 3 2 8 4 0的值為 1 正常思路 由於邏輯運算子優先順序別低於比較運算子同時這兩種都低於算術運算子,因此先考慮後半部分,4 0 真值為1,而8 1的真值為0.再考慮或左邊的表示式,5 3 2顯然真值為1最終結果...
C語言中for表示式1表示式3可理解為
for 表示式1 表示式2 表示式3 程式執行時,先執行表示式1.若表示式2為真,則執行for迴圈體中的語句一次,再執行表示式3。接著再繼續回去執行表示式2。再執行for迴圈體中的語句一次,再執行表示式3。如此迴圈下去,直到表示式2為假時,結束迴圈,執行for語句下面的語句。上面是一種情況。另一種情...