C語言學習筆記 7 C語言中的小數

2021-10-08 14:04:49 字數 1426 閱讀 1731

小數是由整數和小數兩部分組成,由點號.隔開,如0.23、0.444、23.67、-3.98等都是合法小數,屬於十進位制數。除此外,還有指數形式,如7.25103、0.035105、-27.36*10-3等。任何小數都可以用指數形式來表示。

在c語言中,小數的指數形式為:

aen或aen
解釋:a為尾數部分,是乙個十進位制數;n為指數部分,是乙個十進位制數;e或e是固定的字元,用於分割尾數部分和指數部分。整個表示式等價於

a*10n
2.1e5

=2.1

*105

3.7e-2

=3.7*10

-20.5e7

=0.5

*107

在c語言中,只有float和double兩個小數型別,float被稱為單精度浮點數型,double被稱為雙精度浮點數。小數的長度是固定的,float始終占用4個位元組,double始終占用8個位元組。

通常對於小數的輸出由十進位制形式和指數形式,對應的格式控制符分別是:

%f 以十進位制形式輸出float型別;

%lf 以十進位制形式輸出double型別;

%e 以指數形式輸出float型別,輸出結果中的e小寫;

%e 以指數形式輸出float型別,輸出結果中的e是大寫;

%le 以指數形式輸出double型別,輸出結果中的e小寫;

%le 以指數形式輸出double型別,輸出結果中的e大寫;

另外,還有一種更智慧型的printf()輸出方式,就是使用%g,它會對比小數的十進位制形式和指數形式,以最短的方式來輸出小數,讓輸出結果更加簡練,即輸出結果占用最少的字元。

在c語言中,乙個數字若無任何標識,那麼它就是預設型別的;對於整數,預設是int型別,對於小數,預設是double型別。

long a = 100;

int b = 294;

float x = 52.55;

double y = 18.6;

在上面例子中,100和294屬於預設int型別,但將100賦值給a時,必須先從int型別轉換為long型別;52.55和18.6屬於預設double型別,但將52.55賦值給x時,必須先將double型別轉換為float型別。

所以,你可以手動在數值後面加上字尾,指明具體型別:

在整數後面加上l或l(不區分大小寫)表明數值是long型別;

在小數後面加上f或f(不區分大小寫)表明數值是float型別。

C 程式語言學習 7 C 命名空間

假設這樣一種情況,當乙個班上有兩個名叫 zara 的學生時,為了明確區分它們,我們在使用名字之外,不得不使用一些額外的資訊,比如他們的家庭住址,或者他們父母的名字等等。同樣的情況也出現在 c 應用程式中。例如,您可能會寫乙個名為 xyz 的函式,在另乙個可用的庫中也存在乙個相同的函式 xyz 這樣,...

7 c語言中的陣列介紹

陣列可以代表記憶體中一組連續的同型別儲存區 陣列也需要先宣告,然後才能使用 宣告陣列的語句比宣告變數的語句多了乙個整數,這個 整數用來表示陣列中包含的儲存區個數 乙個陣列中儲存區的個數不可能改變 通常不會把陣列當作整體來使用,一般每次只使用其中 的某乙個儲存區 陣列中每個儲存區有乙個編號,這個編號叫...

C語言學習筆記 7

1 根據輸入的分數求等級 注意邏輯運算子的處理,c語言中真用1表示,假用0表示 2 三個數排序 include include int main void int a,b,c,t printf 請輸入三個數,以空格隔開 scanf d d d a,b,c if a素數 在所有的非零自然數中,除1和自...