C語言實型數據
實型數據也稱為浮點數或實數。在C語言實型數據只採用十進制。它有二種形式:十進制小數形式和指數形式。今天,小編為大家搜索整理了C語言實型數據,希望大家能有所收穫,更多精彩內容請持續關注我們應屆畢業生考試網!
實數的表示
1) 十進制數形式
由數碼0~ 9和小數點組成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均為合法的實數。
注意,必須有小數點。
2) 指數形式
由十進制數,加階碼標誌“e”或“E”以及階碼(只能為整數,可以帶符號)組成。其一般形式為:
a E n(a為十進制數,n為十進制整數)
其值為 a*10n。如:
2.1E5 (等於2.1*105)
3.7E-2 (等於3.7*10-2)
0.5E7 (等於0.5*107)
-2.8E-2 (等於-2.8*10-2)
以下不是合法的實數:
345 (無小數點)
E7 (階碼標誌E之前無數字)
-5 (無階碼標誌)
53.-E3 (負號位置不對)
2.7E (無階碼)
【例3-5】輸出實數。
#includeint main(void){ printf("%fn ",356.); printf("%fn ",356); printf("%fn ",356.0); return 0;}
3) 實數在內存中的存放形式
實數一般佔4個字節(32位)內存空間。按指數形式存儲。實數3.14159在內存中的存放形式如下:
説明:
小數部分佔的位(bit)數愈多,數的有效數字愈多,精度愈高。
指數部分佔的位數愈多,則能表示的數值範圍愈大。
實型變量
實型變量分為:單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。
在VC6.0中單精度型佔4個字節(32位)內存空間,其數值範圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型佔8 個字節(64位)內存空間,其數值範圍為1.7E-308~1.7E+308,可提供16位有效數字。
類型説明符比特數(字節數)有效數字數的範圍
float32(4)6~710-37~1038
double64(8)15~1610-307~10308
long double128(16)18~1910-4931~104932
實型變量定義的`格式和書寫規則與整型相同。例如:
float x,y; // x,y為單精度實型量double a,b,c; // a,b,c為雙精度實型量
實數的舍入誤差
由於實數是由有限的存儲單元組成的,因此能提供的有效數字總是有限的。如下例。
【例3-6】實數的舍入誤差。
#includeint main(void){ float a,b; a=123456.789e5; b=a+20; printf("a=%fn",a); printf("b=%fn",b); return 0;}
注意:1.0/3*3的結果並不等於1。
【例3-7】
#includeint main(void){ float a; double b; a=33333.33333; b=33333.33333333333333; printf("a=%fnb=%fn",a,b); return 0;}
從本例可以看出:
由於a 是單精度浮點型,有效位數只有七位。而整數已佔五位,故小數二位後之後均為無效數字。
b 是雙精度型,有效位為十六位。但VC6.0規定小數後最多保留六位,其餘部分四捨五入。
注意:實型常數不分單、雙精度,都按雙精度double型處理。
-
C語言程序基礎練習題帶答案
C語言傳遞參數均是以值傳遞(passbyvalue),另外也可以傳遞指針(apointerpassedbyvalue)。下面是小編為大家搜索整理的C語言專項訓練題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!單選題1).下列關於標識符的説法中錯誤的是A.合法的標識符...
-
C語言在屏幕中顯示內容
C語言你瞭解多少呢?你知道C語言在屏幕中顯示內容是什麼樣的嗎?歡迎大家閲讀!更多相關信息請關注相關欄目!我們有兩種方式從計算機獲得信息:一是看屏幕上的文字、圖片、視頻等,二是聽從喇叭發出來的聲音。讓喇叭發出聲音目前還比較麻煩,我們先來看看如何在屏幕上顯示一...
-
C語言基礎循環結構
引導語:循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構。以下是本站小編分享給大家的C語言循環結構,歡迎閲讀學習!1.1for循環結構循環語句的一般表達式是:for(表達式1;表達式2;表達式3)語句2....
-
C語言猴子吃桃問題
猴子第一天摘了若干個桃子,當即吃了一半,還不解饞,又多吃了一個;第二天,吃剩下的桃子的一半,還不過癮,又多吃了一個;以後每天都吃前一天剩下的一半多一個,到第10天想再吃時,只剩下一個桃子了。問第一天共摘了多少個桃子?分析:1)設x1為前一天桃子數,設x2為第二天桃子數,則:x...