1樓:我是果瘋
int(2.5+4.7)=7
在c語言中,取int()系統會強制將其他資料型別轉換為int型,不會四捨五入直接捨去小數點後面的數字。
例如:int b=10;//宣告變數為int型並初始化賦值
printf("%f",b*5.0);//列印為浮點型的數字,強制將10*5.0結果為50.000000
float a=2.1314;//宣告變數為實數型並初始化賦值
int c=(int) a;//宣告變數c為int型並將a強制轉換為int型所得值賦給c,即c=2
擴充套件資料:
資料型別關鍵字:
short:修飾int,短整型資料,可省略被修飾的int。(k&r時期引入)
long:修飾int,長整型資料,可省略被修飾的int。(k&r時期引入)
long long:修飾int,超長整型資料,可省略被修飾的int。(c99標準新增)
signed:修飾整型資料,有符號資料型別。(c89標準新增)
unsigned:修飾整型資料,無符號資料型別。(k&r時期引入)
restrict:用於限定和約束指標,並表明指標是訪問乙個資料物件的唯一且初始的方式。(c99標準新增)
2樓:聽不清啊
系統會自動截尾取整的。
例如:int x=12.945;
printf("%d\n",x);
會輸出12。
3樓:匿名使用者
例子:int(2.5+4.
7)的值為:7,先求和,再將浮點型7.2強制轉化為整形7。
若不帶括號,如:(int)2.3+5.
5,則先將2.3強制轉化為2,再和5.5相加,結果為7.
5(2和5.5相加時,2先隱式轉化為浮點型再跟5.5相加)。
c語言中int 能定義小數嗎?下面這個程式怎麼回事?
4樓:卒子的瘋狂
int 是整數型別,只會取整數
你那 x=567.12; y=123.4;也只等與567,y=123;
所以sum的值為567+123
5樓:覺悟壯志
int 不能定義小數
定義小數用float(單精度)
或者double(雙精度)
main()
6樓:儲楊
不能定義小數,但編譯時不會報錯,它會直接把後面的小數去掉再參加運算!
7樓:
定義小數沒有,他還是整數。要是小數選用float或者double型。首先,x,y,是整形,所以賦值時,你賦小數,他本生還是整數,即x=567,y=123,但sum為單精度形,有6位小數,後面的輸出形式%f,是採用單精度輸出,所以輸出有6位小數。
8樓:匿名使用者
可以的,但是有warning,也沒有意義,程式會強制轉換成float型,由小轉大,,,你這個寫的printf裡面的「」是中文的,不是英文""
9樓:匿名使用者
567.12會被強制型別轉換吧.
10樓:匿名使用者
這個。。。
按道理不行的
11樓:匿名使用者
可以,但是會自動修正。
c語言中int,float,double,char四種資料型別所能表示的資料範圍是多少?
12樓:小黑裙
資料範圍:
1、char 1位元組
2、short 2位元組
3、int 4位元組
4、long 4位元組
5、long long 8位元組
6、float 4位元組
7、double 5位元組
8、long double 12位元組
13樓:匿名使用者
int 有符號整數,根據系統(編譯器)不同,有不同的範圍,16bits系統(dos系統):-(2^15)到(2^15-1),32bits系統:-(2^31)到(2^31-1),64bits:
-(2^63)到(2^63-1)。如果是無符號整數unsigned int,那麼16bits系統(dos系統):0到(2^16-1),32bits:
0到(2^32-1),64bits:0到(2^64-1)
float, double是浮點型和雙精度型,表示小數,區別是精度不同。
float為單精度浮點型,能準確到小數點後六位,3.4 x 10^(-38)~ 3.4 x 10^(+38)
double為雙精度浮點型,能準確到小數點後十二位,1.7 x 10^(-308)~ 1.7 x 10^(+308)
char為單位元組字元型,-(2^7)到2^7-1即-128到127。如果是無符號字元unsigned char,那麼是0到2^8-1即0到255
希望採納
c語言裡面,定義int型的變數後面打個小括號(不是中括號!),裡面寫個數字,是什麼意思?比如說:i
14樓:
int x(5);就是int x=5;的意思。其實最早的c編譯器並不支援這種寫法,後來c++相容c的編譯器就都支援這種寫法了。
你拒絕吧,我實在看不出int x(5);這種寫法還有別的什麼意思,「不完整」我也無能為力了。如果認證員還知道int x(5);有別的意思,告訴我不就讓我進步了嗎?
15樓:匿名使用者
這個意思是宣告i並對i進行初始化為1
16樓:紫夜丶風流
int 也是類 x是物件,這是物件的初始化
17樓:滄海雄風
void main()
1press any key to continue
等同於=1
c語言中,若int a=5,b=3,c=1;則表示式「f=a>b>c」,運算後的結果f的值是多少
18樓:瞿冷農英博
答案應該是0;
f=a>b>c
這個式子從左向右計算,a>b
(5>3)
=1,1>c(1)
=0,所以f=0
19樓:柴鋒沙荃
f值是5
表示式「f=a>b>c」是比較表示式
先是a與b比較如果a>b則取a得值,如果a<b則取b得值,然後再與c比較取大的值,再賦值給f
前提是必須定義f也為整數
樓上的判定用函式if()表示
c語言中小數怎麼表示c語言中乙個數的小數如何表示
兩種表示方式 1 定點表示 必須有小數點。例如 0.123,123,123.0。2 指數表示 e或e之前必須有數字,指數必須為整數。例如 12.3e3 123e2,1.23e4。注意 浮點數常量預設為double型別,如果浮點數常量表示float型別,在末尾新增小寫的f或者大寫的f,表示此常量為單精...
c語言中什麼是數的有效數字,C語言中什麼是乙個數的有效數字?
樓上誤解 樓主問的是c語言 不是數學 這要看你的機器型別和變數型別了 如果定義的是int型 那1234是有 版效數字 權 後面小數都是無效的 如果定義的是float型 那在限定位元組長度內都是有效數字不同機器型別也不一樣 int型有2個位元組 也有4個位元組的 在c語言中,bai乙個數的有效數du字...
c語言中int型數8在記憶體中的儲存形式為《a》
負數是以補碼存的,求補碼的方法是符號位不變,其他位取反加一啊啊專啊1000 0000 0000 1000 取反是111 1111 1111 0111加一是11111 1111 1111 1000不是剛屬好麼 8在記憶體bai中的儲存形式為 1111111111111000這是du8的按位zhi取反 ...