標籤:
一、 資料1. 什麼是資料
生活中時時刻刻都在跟資料打交道,比如體重資料、血壓資料、股價資料等。在我們使用電腦的過程中,會接觸到各種各樣的資料,有文檔資料、圖片資料、視頻資料,還有聊QQ時產生的文字資料、用迅雷下載的檔案資料等。
2. 資料的分類
電腦中儲存的資料可以分為兩種:待用資料和動態資料。
1> 待用資料
l 概念:待用資料是指一些永久性的資料,一般儲存在硬碟中。硬碟的儲存空間一般都比較大,現在普通電腦的硬碟都有500G左右,因此硬碟中可以存放一些比較大的檔案。
l 儲存的時間長度:電腦關閉之後再開啟,這些資料依舊還在,只要你不主動刪掉或者硬碟沒壞,這些資料永遠都在。
l 哪些是待用資料:待用資料一般是以檔案的形式儲存在硬碟上,比如文檔、照片、視頻等。
2> 動態資料(臨時資料)
l 概念:動態資料指在程式運行過程中,動態產生的臨時資料,一般儲存在記憶體中。記憶體的儲存空間一般都比較小,現在普通電腦的記憶體只有4G左右,因此要謹慎使用記憶體,不要佔用太多的記憶體空間。
l 儲存的時間長度:電腦關閉之後,這些臨時資料就會被清除。
l 哪些是動態資料:當運行某個程式(軟體)時,整個程式就會被載入到記憶體中,在程式運行過程中,會產生各種各樣的臨時資料,這些臨時資料都是儲存在記憶體中的。當程式停止運行或者電腦被強制關閉時,這個程式產生的所有臨時資料都會被清除。
你可能會問:既然硬碟的儲存空間這麼大,為何不把所有的應用程式載入到硬碟中去執行呢?有個主要原因是記憶體的訪問速度比硬碟快N倍。
程式員最關心的是什麼資料呢?
3> 待用資料和動態資料的轉換
靜態 -> 動態
動態 -> 靜態
3. 資料的大小
1) 不管是靜態還是動態資料,都是0和1組成的。0和1如何組成這麼多的資料?
2) 資料都有大小,待用資料就會佔用硬碟的空間,動態資料就佔用記憶體的空間
3) 資料越大,包含的0和1就越多,位元位和位元組
4) 1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB
4. app中的各種資料
5. C語言中的資料類型
由於app中的資料種類繁多,為了方便操作資料,C語言資料進行了分類
二、 常量1. 什麼是常量
常量,表示一些固定的資料
2. 常量的分類
1> 整型常量(int)
包括了所有的整數,比如6、27、109、256、-10、0、-289等
2> 浮點型常量(float\double)
浮點型常量分為double和float兩種資料類型
u double:雙精確度浮點型,其實就是小數。比如5.43、-2.3、0.0等(注意,0.0也算是個小數)
u float:單精確度浮點型,也是小數,比double的精確程度低,也就是說所能表示的小數位元比較少。為了跟double區分開來,float 型資料都是以f結尾的,比如5.43f、-2.3f、0.0f。需要注意的是,絕對不能有10f這樣格式的,編譯器會直接報錯,只有小數才允許加上f。
3> 字元常量(char)
u 將一個數字(0~9)、英文字母(a~z、A~Z)或者 其他符號(+、-、!、?等)用單引號括起來,這樣構成的就是字元常量。比如‘6‘、‘a‘、‘F‘、‘+‘、‘$‘等。
注意:單引號只能括住1個字元,而且不能是中文字元,下面的寫法是錯誤的:‘abc‘、‘123456‘、‘男‘
4> 字串常量
u 將一個或者多個字元用雙引號("")括起來,這樣構成的就是字串常量。比如"6"、"男"、"哇哈哈"、"abcd"、"my_car4",其實printf("Hello World");語句中的"Hello World"就是字串常量。
那究竟6、‘6‘、"6"在用法上有什麼區別呢?這個先不作討論,以後會介紹。
3. 習題
下面的都是什麼類型的常量?
10.6 19.0f 0.0 0 ‘A’ “男” “mj” 294 ‘+’
三、 變數1. 什麼是變數
當一個資料的值需要經常改變或者不確定時,就應該用變數來表示。比如遊戲積分。
2. 定義變數
1> 目的
u 任何變數在使用之前,必須先進行定義。
u 定義變數的目的是:在記憶體中分配一Block Storage空間給變數,方便以後儲存資料。
u 如果定義了多個變數,就會為這多個變數分別分配不同的儲存空間。
2> 格式
變數類型 變數名;
比如int num;
l 變數名屬於標識符
l 變數類型
u 不同類型的變數佔用不同大小的儲存空間。記憶體極其有限,分配適當的儲存空間
u 約束變數所存放的資料類型(方便運算)
3> 執行個體
int main()
{
int i;
char c;
int a, b;
return 0;
}
3. 變數的使用
1> 賦值
l 往變數裡面存點東西,就是賦值。指派陳述式後帶個分號;
i = 10;
注意:這裡的等號=,並不是數學中的“相等”,而是C語言中的賦值運算子,作用是將右邊的常量10賦值給左邊的變數i
l 第一次賦值,可以稱為“初始化”
l 初始化的兩種形式
u 先定義,後初始化:int a; a = 10;
u 定義的同時進行初始化:int a = 10;
2> 修改
l 可以修改變數的值,多次賦值。每次賦值都會覆蓋原來的值
i = 10;
i = 20;
變數i最後的值是20
l 使用printf輸出一個\多個變數的值
int a = 10, c = 11;
printf("a=%d, c=%d", a, c);
l double\float\char的輸出,格式符的一些小技巧
double height = 1.55;
char blood = ‘A‘;
printf("height=%.2f, 血型是%c", height, blood);
l 簡單的加減操作
int a = 10 + 20;
l 沒有初始化時不要拿來使用(下面的寫法是不建議的)
int score;
printf("score=%d", score);
3> 變數之間值的傳遞
l 可以將一個變數的值賦值給另一個變數
int a = 10;
int b = a;
l 連續賦值
a = b = 10;
4. 常見錯誤
1> 變數名相同 int a = 10; int a = 12;
2> 變數的範圍不對
u 變數的建立和釋放過程
u 代碼塊範圍 { int a = 10; }
5. 習題
1> 交換整型變數a、b的值。比如a=10、b=11;交換之後a的值是11,b的值是10。用兩種方式實現:
u 使用第三方變數
int temp;
temp = a;
a = b;
b = temp;
u 不使用第三方變數
a = b - a;
b = b - a;
a = b + a;
2> 觀察的遊戲介面,思考需要定義多少個變數?
(註:參考於傳智)
c中的資料類型、常量、變數