C語言中兩個整形相除是不是自動四捨五入

2021-03-07 01:31:24 字數 1512 閱讀 3787

1樓:四舍**入

所謂的整形,就是取整數部分。

如果a=3.98,則 int a=3。a=58.49,則 int a=58。取整隻看整數部分取值,而不是四捨五入。

c語言中,一般而言整型數是雙位元組,所以:

有符號型:最大 32767,最小 -32768無符號型:內最大 65535,最小 0

但對於c++,面對32位機時,整型容數變成了雙字,所以:

有符號型:最大 2147483647,最小 -2147483648無符號型:最大 4294967295,最小 0

2樓:匿名使用者

不是四捨五入,而是截斷小數,只取整數部分,也就是整除。。

比如 18/10 的結果是 1,而不是 1.8 四捨五入之後的 2。。

3樓:暴風一號

不是,只有浮點才會

例如:printf("%d",5/2); 就會輸出2 而不是3(四捨五入:5/2 = 2.5 四捨五入後就是3)

4樓:匿名使用者

不是四捨五入,比如1/2 結果為0(實際為0.5,怎麼可能是四捨五入?)。

兩個整形數相處(確保除數不為0),結果的型別還是整形integer(即int),還是1/2,數學上為0.5,那麼按照整形型別向0靠近則為0。15/2為7,數學上為7.

5,是同一個道理~

5樓:你丶好

不夠的部分是直接捨去的

c語言中 兩個整形變數相除的結果是不是隻取整數部分 不用四捨五入嗎??

6樓:魂鬥水下八關

所謂的整形,就是取整數部分。 如果a=3.98 則 int a=3。a=58.49,則 int a=58。取整隻看整數部分取值,而不是四捨五入哦!

7樓:匿名使用者

是的,比如 10 / 3 的結果是 3,而不是3.33333

如果是 10.0 / 3,結果就是3.33333

在c語言中,相除後取整的時候,我記得有些需要四捨五入,有些直接取整數部分,分別是哪些情況?

8樓:匿名使用者

round()函式會四捨五入。

簡單的除法運算沒有四捨五入,如果兩個整數相除,那麼商也保留整數部分,而且是直接擷取整數部分,不四捨五入,浮點數相除,會返回準確的商。

9樓:匿名使用者

到底需要四捨五入還是直接取整不是程式說了算了,是根據實際情況說了算的這個要看你需要的結果了

比如說double x;

printf("%d",int(x)) 取整printf("%d",int(x+0.5)) 四捨五入

10樓:華師來的

int i=1;

int j=2;

float k=1;

float s;

s=i/j;//此時s=0.0

s=k/j;//這時s=0.5;

C語言兩個for迴圈,c語言中兩個for語句的是怎樣迴圈的

實際上就這麼寫的話,沒有區別,只是第二種更加清楚,也更加容易方便閱讀和修改 如果 為 for 第一種和第二種就是不同的了,因此建議用第二種的風格 for for 第一個for 的迴圈體只有一個語句 for 花括號括著,內中可以這個語句組,即許有多個語句,分號分開,也可以是空語句 當花括號中只寫了一個...

c語言中關於兩個if連用怎麼理解

1 本程式輸出結果是 over 2 第一個if的理解 題目中有兩個if語句,構成了雙重巢狀判斷條件。本題目中的第一個if為第一層判斷條件。擴充套件資料 一 c語言中if語句用法 1 一般格式為 if 表示式 語句 1 else 語句2 值得注意的是,else子句是可選的。當括號中的表示式的值為真值時...

c語言中這兩個是否等價。for i 0 siifor i 0 i s

int i,j 0 for i 0 s i i if s i c s j s i s j 0 把最後一個元素設為0,可能是作為陣列的結束來用。關於c 的基礎。我是新手。就是有一條語句是for i 0 s i 0 i 請問s i 0 的意思 在c語言裡,字串是以0 也就是字元 0 結尾的,所以,一般在...