C語言基礎(一)資料型別(下)

2021-10-25 12:09:36 字數 1966 閱讀 4833

浮點數也稱小數或實數,c語言中用float和double關鍵字來定義小數。其中float為單精度浮點型,double為雙精度浮點型。

c語言規定,float型別必須至少能夠表示6位有效數字,且取值範圍至少是10^(-37) ~ 10^37.

float型別資料表示的是乙個近似的小數,不是精確地,小數點後n位有誤差,浮點數的位數越大,誤差就越大。到了有效數字8位以後誤差位1,基本不能用。

用「==」來測試兩個整數或字元相等,但是在float型別「看似」相等的數,卻不是相等的。

double型別和float型別的足校範圍相同,但至少能必須表示10位有效數字。

double型別資料表示的是乙個近似的小數,不是精確地,小數點後n位有誤差,浮點數的位數越大,誤差就越大。到了有效數字17位以後誤差位1,基本不能用。

可以用「==」來測試兩個double型別資料是否相等。

long double型別,以滿足比double型別有更高的精度要求。不過c語言只保證long double型別至少與double型別的精度相同。

(.)點使用記憶體的情況

測試下float,double和long double占用的位元組數。

#include

#include

intmain()

執行結果:

float: 4

double: 8

long double: 16

float型別資料使用%f輸出,double型別資料使用%lf輸出,long double型別資料使用%lf輸出注意l是大寫

格式化輸出

浮點數的格式化輸出形式為:%.mlf,表示小數點儲存m位。%x.mlf輸出格式為:寬度為x,小數部分為m位。

示例:

#include

#include

intmain()

執行結果:

;//將字串轉化為double

double

fabs

(double n)

;//求雙精度n的絕對值

double

pow(

double x,

double y)

;//求x的y次方

double

round

(double x)

;//將x四捨五入

double

ceil

(double x)

;//double向上取整

double

floor

(double x)

;//將x向下取整

double

fmod

(double x,

double y)

;//求x/y的雙進度餘數

double

modf

(double x,

double

*y);

//把雙精度x分加成整數部分和小數部分,整數部分放在y中,返回小數部分。

科學計數法採用%e或%e來輸出,完整的輸出格式是:%m.ne.其中m是資料的寬度,n表示小數字數。

示例:

#include

#include

intmain()

執行結果:

a= 9.881313e-324

a= 9.881313e-324

C語言 基礎一 資料型別

因為要學習stm32嵌入式開發,c語言就需要重新撿起來啦 快速的過一遍c的基礎吧。在 c 語言中,資料型別指的是用於宣告不同型別的變數或函式的乙個廣泛的系統。變數的型別決定了變數儲存占用的空間,以及如何解釋儲存的位模式。c 中的型別可分為以下幾種 1 基本型別 它們是算術型別,包括兩種型別 整數型別...

c 基礎(一) 資料型別

c 的資料型別分為兩類 值和引用,值型是乙個長度固定的資料,引用型是乙個長度可變的。具體來說 值 整數型 浮點數 布林型 字元型 結構 列舉 六種 引用 c 預定義引用 陣列 類 介面 下面具體介紹 整數型 8 16 32 64位,每種又有正負和非負兩種整數,共8種,sbyte byte short...

C 基礎(一) 資料型別

using system namespace base 01 endregion 說明 1 每個程式只能有乙個main方法 2 region 摺疊塊,endregion可以實現 塊摺疊 3 c 需要引用命名空間,類似於c 新增標頭檔案,命名空間裡有相關類。例如console是system名字空間裡的...