本文目錄一覽:
- 1、C語言中什麼運算只取整數部分,什麼時候不但取整,還要四捨五入?? 發現C語言中很多時候不用四捨五入
- 2、C語言中除號兩邊的數是不是必須為整型?
- 3、用C語言做加減乘除除法,為何算除法出來總是整數?
- 4、C語言中,%只能用於整數運算的運算符?
- 5、/除號不也是取整數嗎,(在C語言內?)
C語言中什麼運算只取整數部分,什麼時候不但取整,還要四捨五入?? 發現C語言中很多時候不用四捨五入
取整要看類型的自動轉換了,,比如a和b都是整形數據,那麼a/b的結果就一定是整形。結果就取整數部分,如果其中有一個是浮點型,那麼結果就是浮點型,但是不會四捨五入,如果需要四捨五入那麼應該寫成a/b+0.5.自動轉換的順序是char,short,int,float,double,越往後優先順序越高
C語言中除號兩邊的數是不是必須為整型?
不是,如果均為整型那所得結果也為整型,即使不能整除只取整數部份。如果除數或被除數中有一個為浮點型或DOUBLE型結果就會是精度更高的那類
用C語言做加減乘除除法,為何算除法出來總是整數?
#include “stdio.h”
#include “math.h”
void main(void)
{
int a,b,c,d,e,g;
float f;
printf(“int a,b”);
scanf(“%d %d”,a,b);
c=a+b;
d=a-b;
e=a*b;
f=a/(float)b ;
g=a%b;
printf(“c=%d\n d=%d\n e=%d\n f=%f\n g=%d\n”,c,d,e,f,g);
}
整數除整數得到的一定是整數,這個和c語言中的自動類型轉換有關,按照我上面寫的,把b強制轉換成浮點型,這樣得到的結果就是浮點型,還有輸出浮點型數時用 %f 。
C語言中,%只能用於整數運算的運算符?
C語言中,%只能用於整數運算的運算符,%是求余運算符,只能適用於整數與整數運算,如果用於非整數運算,程序會報錯導致無法運行。
A選項錯誤,是因為在C語言中,語句之間的分割要用英文狀態下的分號去分割,即「;」,而不是冒號。
D選項正確,是因為%是除法取余運算,適用於整數與整數運算。否則,不同的編譯器會得不同結果。作為雙目運算符,左右操作數可以是數值,也可以是表達式,但是左右兩邊的操作數必須是整數。
擴展資料
求余運算符「%」,二元運算符,具有左結合性。參與運算的量均為整型。求余運算的結果等於兩個數相除後的餘數。「%」取模運算符還有一些小的應用,例如:
1、當你想要通過rand()獲得隨機數時,rand()%100;產生0-99的隨機數。
假如要產生16-59之間的數,可以這樣寫:rand()%44+16(這裡44由59-16+1得到)。
rand()%44 即可獲得0-43的隨機數,再加上16即可得到16-59的隨機數了;
2、「%」運算還通常用於N進位的轉換。
如果是二進位轉換,可以通過/與%的結合使用則可以得到轉換之後的二進位數了(其實就是短除法),當原數被除至剩餘0時,原數的上一次模數就是最高位進位數。
參考資料來源:百度百科——運算符
/除號不也是取整數嗎,(在C語言內?)
除號並不能取整數,需要用INT來取整,如:
直接賦值給整數變數。如: int i = 2.5;
這種方法採用的是捨去小數部分。
原創文章,作者:FUVR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134383.html