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