一、C語言中數(shù)據(jù)類型的概述 1. 數(shù)據(jù)類型的用途 數(shù)據(jù)類型就是用來限定變量的存儲形式和數(shù)值范圍 2. 數(shù)據(jù)類型的分類
基本類型,也就是C語言中的基礎(chǔ)類型,其中包括整數(shù)類型、字符型、實(shí)型(浮點(diǎn)型)、枚舉類型。
構(gòu)造類型就是使用基本類型的數(shù)據(jù),或者使用已經(jīng)構(gòu)造好的數(shù)據(jù)類型,進(jìn)行添加、設(shè)計構(gòu)造出新的數(shù)據(jù)類型,使其設(shè)計的新構(gòu)造類型滿足待解決問題所需要的數(shù)據(jù)類型。 它并不像基本類型那樣簡單,而是由多種類型組合而成的新類型,其中每一組成部分稱為構(gòu)造類型的成員。 構(gòu)造類型也包括三種形式:數(shù)組類型、結(jié)構(gòu)體類型和共用體類型。
C語言的精華是指針,指針類型不同于其他類型的特殊性在于:指針的值表示的是某個內(nèi)存地址。
空類型的關(guān)鍵字是void,其主要作用在于:對函數(shù)返回的限定;對函數(shù)參數(shù)的限定。 也就是說,一般一個函數(shù)都具有一個返回值,將其值返回調(diào)用者,這個返回值是具有特定的類型,但是當(dāng)函數(shù)不必返回一個值時,就可以使用空類型設(shè)定返回值的類型。 二、C中進(jìn)制之間的轉(zhuǎn)換 1. 幾進(jìn)制:就是逢幾進(jìn)一 2. C語言中常用的進(jìn)制:二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。 3. 各進(jìn)制在C中的表示形式 二進(jìn)制:無 ---通常會在文檔中(非代碼中) 以b后綴 0101b 八進(jìn)制:以0 開頭 十進(jìn)制:默認(rèn) 十六進(jìn)制:以 0x 或0X 開頭 區(qū)別:012 12 0x12 4. 各進(jìn)制從1--16 的表示方式和相互轉(zhuǎn)換 5. 常見的2的次方 2^7=128 2^8=256 2^10=1024 2^15=32768 2^16=65536 6. 各進(jìn)制之間的數(shù)值轉(zhuǎn)換 二進(jìn)制 & 八進(jìn)制 2^3=8 1. 二進(jìn)制 ----> 八進(jìn)制 從二進(jìn)制低位開始3個合一個, 高位不夠補(bǔ)零 2.二進(jìn)制 <-----八進(jìn)制 八進(jìn)制一個拆3個 二進(jìn)制 & 十六進(jìn)制 2^4=16 1.二進(jìn)制 ----> 十六進(jìn)制 從二進(jìn)制低位開始4個合一個,高位不夠補(bǔ)零 2.二進(jìn)制 <-----十六進(jìn)制 十六進(jìn)制一個拆4個 三、C中基本數(shù)據(jù)類型的關(guān)鍵字表示和數(shù)值范圍入文字輸入文字 分析數(shù)值范圍的目的:
1. 數(shù)據(jù)類型關(guān)鍵字 針對與字符型、整型 數(shù)據(jù)是存在 有無符號之分的 signed unsigned 字符型:char 占用 1字節(jié)空間 短整型:short 占用 2字節(jié)空間 基本整型:int 占用 4字節(jié)空間 長整型:long 占用 4字節(jié)空間 單精度浮點(diǎn)型:float 占用 4 字節(jié)空間 雙精度浮點(diǎn)型:double 占用 8字節(jié)空間 2. 數(shù)值范圍 1.求字節(jié)關(guān)鍵字:sizeof 用法 sizeof(數(shù)據(jù)類型/變量名/常量) 功能:計算 數(shù)據(jù)類型/變量名/常量 所占用的內(nèi)存空間字節(jié)數(shù) 3. 字符型數(shù)值范圍 無符號的 unsigned char 數(shù)值范圍: 0----0xff(2^8-1 255) 有符號的 signed char 或者 char 最高位:符號位 0 正 1 負(fù) 低7位:數(shù)據(jù)位 數(shù)值范圍: -128 ----0x7f(2^7 -1=127) 4. 短整型數(shù)值范圍 1.無符號的 unsigned short 數(shù)值范圍:0----0xffff(2^16 -1=65535) 2.有符號的 signed short 或者 short 最高位:符號位 0 正 1 負(fù) 低15位:數(shù)據(jù)位 數(shù)值范圍:-32768 ----0x7fff(2^15 -1=32767) 5. 基本整型數(shù)值范圍 無符號的 unsigend int 數(shù)值范圍: 0----0xffffffff(2^32 -1 ) 6. 長整型、浮點(diǎn)型數(shù)值范圍 1.長整型:long 所占用的字節(jié)數(shù)是和硬件平臺有關(guān) 在32位CPU平臺上,long 也是 4字節(jié);在64位平臺,long 才是 8字節(jié) 2.單精度浮點(diǎn)型:float 保留到小數(shù)點(diǎn)后 6位有效數(shù)據(jù) 3.雙精度浮點(diǎn)數(shù):double 保留到小數(shù)點(diǎn)后 15~~16位有效數(shù)據(jù) (和平臺有關(guān),在32位CPU顯示不了) 四、C中常量和變量的操作 1. 無需定義,可以直接使用,只讀的 2. 常量的分類 3. 變量操作 變量必須先定義,后使用 ,可讀可寫 3.1變量的定義 1.格式: 數(shù)據(jù)類型 變量名 ; 變量名 規(guī)范: 規(guī)范1:符合標(biāo)識符,只能是 數(shù)字、字母(26個英文字母)、下劃線、$ 一個或組合,并且數(shù)字不能作為變量的開頭 規(guī)范2:不能和C中已存在的關(guān)鍵字沖突 規(guī)范3:區(qū)別大小寫 規(guī)范4:盡可能望文生義 (在實(shí)際開發(fā)中,每個公司都有一套自己變量命名規(guī)則) 3.2變量的賦值-寫操作 1.C中 = 賦值號 2.寫操作是一種覆蓋寫,會改變變量原來的值 3.變量出現(xiàn)在 = 的左邊 4.賦值的兩種方式 方式一:在定義時賦值 int a = 10; 方式二:先定義,在使用時賦值 int a; a =10; 3.3變量的讀操作 讀操作不會改變變量本身的值,出現(xiàn)在 = 右邊 3.4變量的注意事項 1.在一個函數(shù)中,同一個變量只能被定義一次,可多次使用 2.如果要定義的多個變量屬于同一類型,可以省略數(shù)據(jù)類型,簡便定義 舉例 int a; int b; int c; char d; 簡便定義: 數(shù)據(jù)類型 變量名1,變量名2,變量名3; int a=10,b,c; char d; b=100; 3. 'a’ 和 a “num” 和 num 五、C中的關(guān)鍵字 1. C語言中存在32個關(guān)鍵字 2. 關(guān)鍵字:被C99規(guī)范以占用的字母的組合 第一類 :數(shù)據(jù)類型相關(guān)的 unsigned signed char short int long float double sizeof 六、C中數(shù)據(jù)的存儲形式 核心點(diǎn):對數(shù)據(jù)操作,和該數(shù)據(jù)所在的類型特性保持一致----不要跨類型數(shù)據(jù)操作 1. 字符型和 整型 數(shù)據(jù) 的存儲方式是一樣的--都是以數(shù)據(jù)的二進(jìn)制補(bǔ)碼形式存在, (和浮點(diǎn)型的存儲方式不同--也就是說 字符、整型 不用和 浮點(diǎn)型 混合使用 ) (字符型 和整型 在 數(shù)據(jù)有限范圍內(nèi)(字符范圍) 可以混合使用--但是最好不要) 2. 對于正數(shù): 數(shù)據(jù)的 原碼 = 反碼= 補(bǔ)碼 3. 對于負(fù)數(shù): 原碼:數(shù)據(jù)直接展開的二進(jìn)制形式 反碼:除符號位以外,原碼全部取反 補(bǔ)碼:反碼 + 1 4. 對存儲的理解:環(huán)形存儲 最大 + 1 = 最小 最小 -1 =最大 5. 浮點(diǎn)型的存儲方式,到后面學(xué)習(xí)完指針來分析 6. 負(fù)數(shù)的補(bǔ)碼數(shù)據(jù)的形式---以 int 4字節(jié)存在 以 -157 為例: 步驟1:先把 157 轉(zhuǎn)換成 二進(jìn)制,然后在 補(bǔ)全成 32位數(shù)據(jù),最高位符號位為 1 1 0000000 00000000 00000000 1001 1101 原碼 1 1111111 11111111 11111111 0110 0010 反碼 1 1111111 11111111 11111111 0110 0011 補(bǔ)碼 七、總結(jié) 1.分析、掌握數(shù)據(jù)類型范圍的目的:是為了更加合理的定義變量的數(shù)據(jù)類型 (保證夠用,適當(dāng)浪費(fèi)) 2.所以編程者只需記憶 字符型 和 短整型 的 數(shù)值范圍 3.各基本數(shù)據(jù)類型的關(guān)鍵字、所占用的字節(jié)數(shù) 4.變量的定義、讀寫操作 5.字符型、整型存儲格式:補(bǔ)碼
|
|