1樓:程振
會將int型別轉換成double型別再與double型別的變數相加。型別不一樣的數相加,首先將型別轉換成一樣的然後相加,轉換原則,短型別向長型別看齊,長短指在記憶體中所佔空間的長短
2樓:匿名使用者
得出的結果是double型.
這個不需要強制轉換的,系統會自動轉換的.
3樓:
double,計算時會自動轉化之double進行計算,因為double高於int
4樓:匿名使用者
下面回答者所答正確。預設是向高精度看齊的。即為double型。
這個應該是由編譯器自動完成。
5樓:匿名使用者
得出的結果應該是double型的,double型的優先順序比int型的優先順序高,會自動轉換。
6樓:鑽時封芯
輸出的是double型,這是預設的,以便保持精度
7樓:匿名使用者
double優先順序較高,int型別會隱式轉化成double型別,再進行運算,精度提高。
8樓:匿名使用者
double;
int 轉換成double ,這不是強制轉換
9樓:
會得到一個double結果
10樓:匿名使用者
double型,預設是進行位擴充套件的,通俗說就是 短的資料向長的資料看齊。
11樓:cj_陳嬌
結果得看你定義 變數型別,要與定義的變數型別保持一致。
12樓:匿名使用者
會得到 double型變數
c語言中,int型變數加float型結果是float型嗎?
13樓:匿名使用者
是的,跨型別運算的時候小型別往大型別上靠
14樓:匿名使用者
//以下可以通過編譯,說明是。
#include
#include
int main()
c語言中整型變數(int)實型變數(float)雙精度變數(double)到底是什麼東西?有什麼區
15樓:匿名使用者
整型[signed]int -2147483648~+2147483648
無符號整型unsigned[int] 0~4294967295
短整型 short [int] -32768~32768
無符號短整型unsigned short[int] 0~65535
長整型 long int -2147483648~+2147483648
無符號長整型unsigned [int] 0~4294967295
字元型[signed] char -128~+127
無符號字元型 unsigned char 0~255
單精度 float 3.4 x 10^(-38)~ 3.4 x 10^(+38)
雙精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
長雙精度 long double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
簡單的舉個例子 方便理解
比方說 輸入一個10進位制 數值 24 那我選用 char 型別就可以了 就夠用了 沒有必要 使用 更大的資料類詞能夠 double型別(浪費) 要是我的數值 是 24000 那我就選用 int型別(無符號)的 他的最大範圍是 65536 要是我用帶小數點的 就尋用 float 或者 double
這只是 簡單的 說一下 具體的 你要看書 或相關資料 進一步的 理解掌握
16樓:匿名使用者
public void validateabc()
c語言 double強制轉換int
17樓:風若遠去何人留
這都被你發現了
首先 float double這類的資料是近似值 有精度問題 這一點你知道吧
也就是說列印出來的8.0000 未必是8.00000在你這個例子裡面
我改了一下 改為列印出20位小數
#include
int main ()
b[5]='\0';
puts(b);
}你再執行一下看看
可以發現8.00000實際上是7.99999999999872812850 所以會是轉為int的7
一般來說 要把浮點轉為int 要取得最近似的值 都是採用(int)(a+0.5) 從而達到一種四捨五入的效果
18樓:匿名使用者
顯示是8.00000,但是實際很可能是7.999999,當然擷取整數部分,就成了7
所以對於這種情況,一般都要較上一個比較小的值
例如(int)(a+1e-6)
19樓:眾裡尋他
2.4568不能用double精確表示,可能是一個 2.456799999....的數,具體是多少要看double的位數與表示格式。
你看到輸出的是8.000000,其實在記憶體中表示的可能是7.999999...,所以強轉int就是7;
同理:用7.999999... - 7 = 9.999999... double輸出就是10,int就是9。
希望能幫到你!
20樓:九天之馬
運算過程中a已經被int了,結果當然是a被int了幾次,所以出現7和9。
c語言中強制型別轉換這樣寫對嗎? int i,j;double s=0.0; s=s+(1.0)i/j;
21樓:匿名使用者
可以 s=s+1.0*i/j;或者 s=s+(double)i/j;
22樓:heart水果沙拉
#include
double b2d(char *s);
int main(void)
return 0;
}double b2d(char *s)
return n;}
23樓:匿名使用者
肯定可以啊!因為1.0是實數,i和j是整數。實數和整數一起運算的時候,整數要先轉化成實數的。有關不同型別的數進行運算的時候怎樣轉換的,還是去看看c語言的書吧!
24樓:匿名使用者
判斷題21、 語言函式的預設(預設)型別是 void 型(空型別)。( 錯)
22、 在 c 語言中,函式不能巢狀定義,但可以巢狀呼叫。(錯 )
23、 一個程式中可以使用多條檔案包含命令,但一條檔案包含命令只能包含一個(對)
24、 在同一個陣列中可以儲存許多不同型別的值。(錯 )
25、 c 語言中,變數名用大小寫是等價的。(錯 )
26、 c 語言的所有迴圈語句都要求至少要執行一次迴圈體。( 錯)
27、 c 語言中,註釋可以出現在源程式中空格可以出現的任何位置。(錯 )
28、 c 語言規定:在一個源程式中,main 函式的位置可以任意。( 對)
29、 在同一種資料型別中,變數值越大,它所佔記憶體的位元組數越多。(錯 )
30、 在 c 語言中,十六進位制數是用英文字母 o和 x 後加一個整數來表示,例如 ox12f
31、 使用巨集定義時,巨集名可以是大寫或者小寫,但是常用大寫字母表示。( 對)
32、 強制型別轉換,如(double)x,只改變原變數的型別,而不改變其值。( 對)
33、 當 c 語言的函式先使用後定義時,應該作提前宣告。(對,但有的可免宣告 )
34、 在 c 語言程式中,不允許變數同名。( 錯)
35、 c 語言的所有迴圈語句都要求至少要執行一次迴圈體。( 錯)
程式填空題
36、 從鍵盤讀入一個字串,求該字串的長度。
#include
int len(char *);
void main()
int len(char * p)
return (n);
} 37、 從鍵盤讀入一個字串,統計其中英文小寫字母的個數。
#include "string.h"
#include "stdio.h"
void main()
38、 從鍵盤讀入兩個數,求其最大者。
#include "stdio.h"
int max(int,int);
void main()
while(epselon>=1e-6);
printf("pi=%8.6f\n",4*pi);
} 序分析題
40、#include
void main()
; int i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==2-j) s=s+a[i][j];
printf("s=%d\n",s);
} 執行結果:__2,7,5_______________________________________
41、#include
int sub(int n)
void main()
執行結果:__15_______________________
42、#include
int x=2,y=5;
void f()
void main()
執行結果:____1,y;1,y;8,5________________________________
43、#include
#define n 5
void main() }
for(i=0;i 行結果:_____+**** 0+*** 00+** 000+* 0000+ _____________________ c語言中將一個浮點型賦值給整型時,會不會四捨五入? 25樓:幻翼高達 c語言中將一個浮點型賦值給整型時,不會四捨五入,會直接捨去小數部分的資料,也可以認為是執行了下取整運算。 將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意: 賦值時的型別轉換實際上是強制的。 例如執行賦值後,無論5.4還是5.6都會變成5。 26樓:_夢幻陽光 不會的,不過可以寫一個函式自己轉換啊 #include int fun(float x) int main() 列印的為3和4,c語言很靈活的,樓主想要什麼幾乎都能實現 27樓:匿名使用者 不會的,如int x; 如果有 x=4.78; 則x的值是4 28樓:匿名使用者 不會,後面的小數就直接沒了,只有整數部分了 採納我哦 29樓:匿名使用者 不會的啦,整型的話,1/2=0,而不是0.5或者1,但整型變成浮點型要強制型別轉換,不知這麼解釋明白不。? 30樓:龍__鳳 不會的,看程式的執行結果: 31樓:路過 你好,不會的。浮點型資料賦給整型時,浮點型就會被自動轉換成整型,整型只是整數部分。 希望能夠幫到你。 32樓:匿名使用者 不會,一般是給你強轉成整形了,小數位就沒了,四捨五入是不存在的 33樓:匿名使用者 不會,只會把整數部分賦給整型變數 34樓:匿名使用者 不會,比如float a=4.45 那麼 printf("%d",a);輸入為4,直接把小數點後面的數刪去,不是四捨五入 其實這種問題,從表面說也沒有什麼特別的意義,因為本來就沒有什麼嚴格意義上的能不能互換的問題。只要能在使用過程中,滿足本來的要求就可以了。例如 在將int型變數轉換為char型時,要考慮到資料的溢位問題等 char轉換為int時,要考慮到它的符號問題。在根本上只要認清它們兩者之間的區別就可以了。int... 變數是int型的還是char型,是由宣告決定的。函式呼叫時引數型別錯,你編譯時就通不過呀。unsigned char 可以當無符號整型用。 假設函式形式為 int function int n 方法1 判斷實參字長 int function int n 在c語言裡有個函式可以判斷輸入的是不是數字或者... 風若遠去何人留 c語言中並沒有bool型別變數。這是c 中新增的系統型別。要在c語言中使用bool型別,可以使用自定義的方式。1 使用整型做bool型別。typedef int bool 或typedef unsigned char bool 只要是整型,都可以當做bool使用。2 使用列舉型別做b...c語言中int型變數與char型變數什麼情況下不能互換
在C語言中,怎麼判斷變數是int型的還是char型的
C語言中,如何定義布林型變數,C語言中,如何定義乙個布林型變數?