C語言學習筆記第二章資料型別

2021-10-17 06:41:34 字數 2431 閱讀 7473

就是在 c 程式中的單詞

#define price 30

void main()

型別說明符

數的範圍

位元組數int(有符號)

-216~216

4byte 32bit

unsigned int (無符號)

0~232

short int

unsigned short int

long int

unsigned long int

(用編譯器測一下)

/*檢視不同型別變數的大小,以位元組為單位*/

void main()

整型變數的定義

int a,b,c ; (整型變數)

long x,y;(長整型變數)

unsigned p,q;(無符號整型變數)

#include void main()
%d 與後面的一一對應

printf("%d+%d=%d,%d+%d=%d\n",a,u,c,b,u,d);
整型資料的溢位

#include void main()

輸出

shot int 型別的整型表示 2 byte 的資料也就是16bit 二進位制數字

2^16 / 2 = 32768

即該型別資料可以表示 -32768~32767 的數

32767:0111 1111 1111 1111 [第一位表示正數]

+1= 1000 0000 0000 [在該型別下 成了負數的-32768 這是補碼需要換算]

補碼->真值的計算:

合法的實型資料:

不合法的實型資料:

實型變數

1 在記憶體中的儲存形式

符號小數部分

指數部分

+.314159

1第1位:符號位

接著7位:小數字

後 24 位:1位符號+23 位指數數字

2 實型變數的分類 (用 sizeof()來測試)

型別說明符

位元數(位元組數)

有效數字

數值範圍

float

47 位

double

816 位

long double

163 實型資料的 舍 入 誤差

儲存單元是有限的不會無限儲存

#include void main()
此時的問題:a 的範圍超過了 float 的承受範圍

大的放不進去小的會溢位,有效範圍之外的就是隨機數字,加上的 20 也無法正常運算。

(1)1.0/3*3等於多少?

使用「**檢視結果」

#include void main()
(2)3/2等於多少?

#include void main()
#include void main()
(3)1/3*3 等於多少?

#include void main()
review:字元型常量是單引號引起來的乙個字元就是乙個字元常量

1- 只能用』單引號』來括住,不可用「雙引號」或者其他符號

2- 字元常量只能是單個的字元,不能是字串

3- 字元可以是字符集中的任意乙個字元,但是數字被定義為字元型之後不能參與「數值運算」

eg:』5』和 5 是不同的,』5』是字元型常量,不可以參與運算。

字元變數 char

char a,b;

轉義字元

轉義字元

意義ascii **

\n回車換行

10\t

tab9

\b退格8\r

回車13

\f走紙換頁12\

92'39"

34\a鳴鈴7

\ddd

1~3 位八進位制表示的字元

\xhh

1~3 位十六進製制表示的字元

轉義字元的使用

#include void main()
字元資料在記憶體中的儲存形式和使用方法

每個字元變數被分配1byte 的記憶體空間,只能存放乙個字元

字元值以 ascii 碼的形式存放在變數的記憶體單元中

x 的十進位制 ascii 碼是 120,y 的 ascii 碼是 121

對 a,b賦值應該是:

a = 『x』(x 對應的 ascii 碼是 120)

b = 7 (7 對應的 ascii 碼是 55)

實際上 a ,b中存放的是 120和 55 的二進位制**

使用方法:

#include void main()
「china」 「c program」 「$12.5」等都是合法字串常量

C語言學習 第二章

1.f為浮點數,2f表示保留小數點後兩位,用於控制精度。2.只要加上小數點,就是浮點類,在宣告使如果用int關鍵字,就會報錯。3.因為計算機的浮點數不能表示區間內所有的值,因此儲存的值可能是準確值的近似值,會有精度損失。4.整數不含小數點和指數。5.以十進位制輸出整數 d,八進位制 o,十六進製制 ...

第二章 資料型別

1byte 8bit 1kb 1024byte 1mb 1024kb 1gb 1024mb 1tb 1024gb intfloat 用float計算精度會不準確,需要匯入decimal模組 strbool true,false int 可以將整數型的str和float,bool轉換成int str ...

第二章 深入C 資料型別

資料型別按儲存方式可分為兩類 值型別 源於system.valuetype 引用型別 源於system.object 結構的定義 結構中可以有字段也可以有方法 定義時,結構中的字段不能被賦初值 結構的使用 可以不用new,直接定義結構的物件即可 前提該屬性的型別不是數值型別 宣告結構的物件後,必須給...