計算機中儲存的資料可以分為兩種:靜態資料和動態資料。
1> 靜態資料
* 概念:靜態資料是指一些永久性的資料,一般儲存在硬碟中。硬碟的儲存空間一般都比較大,現在普通計算機的硬碟都有500g左右,因此硬碟中可以存放一些比較大的檔案。
* 儲存的時長
:計算機關閉之後再開啟,這些資料依舊還在,只要你不主動刪掉或者硬碟沒壞,這些資料永遠都在。
2> 動態資料(臨時資料)
× 概念:動態資料指在程式執行過程中,動態產生的臨時資料,一般儲存在記憶體中。記憶體的儲存空間一般都比較小,現在普通計算機的記憶體只有4g左右,因此要謹慎使用記憶體,不要占用太多的記憶體空間。
× 儲存的時長:計算機關閉之後,這些臨時資料就會被清除。
× 哪些是動態資料:當執行某個程式(軟體)時,整個程式就會被載入到記憶體中,在程式執行過程中,會產生各種各樣的臨時資料,這些臨時資料都是儲存在記憶體中的。當程式停止執行或者計算機被強制關閉時,這個程式產生的所有臨時資料都會被清除。
既然硬碟的儲存空間這麼大,為何不把所有的應用程式載入到硬碟中去執行呢?有個主要原因是記憶體的訪問速度比硬碟快n倍。
程式設計師最關心的是什麼資料呢?答:動態資料
3> 靜態資料和動態資料的轉換
靜態 -> 動態
動態 -> 靜態
1) 不管是靜態還是動態資料,都是0和1組成的。0和1如何組成這麼多的資料?
2) 資料都有大小,靜態資料就會占用硬碟的空間,動態資料就占用記憶體的空間
3) 資料越大,包含的0和1就越多,位元位和位元組
位元位:
1個二進位制位為1bit,也就是1個0或1就為1bit,bit的中文翻譯是「位元位」;
位元組:8個二進位制位為1byte,也就是8個0或1就為1byte,1byte=8bit,byte的中文翻譯是「位元組」。
平時我們所說的某個檔案大小為64b,就是64位元組的意思,內部包含了64x8個0和1。
常量,表示一些固定的資料
1> 整型常量(int)
包括了所有的整數,比如6、27、109、256、-10、0、-289等
2> 浮點型常量(float\double)
浮點型常量分為double和float兩種資料型別
* double:雙精度浮點型,其實就是小數。比如5.43、-2.3、0.0等(注意,0.0也算是個小數)
* float:單精度浮點型,也是小數,比double的精確程度低,也就是說所能表示的小數字數比較少。為了跟double區分開來,float 型資料都是以f結尾的,比如5.43f、-2.3f、0.0f。需要注意的是,絕對不能有10f這樣格式的,編譯器會直接報錯,只有小數才允許加上f。
3> 字元常量(char)
將乙個數字(0~9)、英文本母(a~z、a~z)或者 其他符號(+、-、!、?等)用單引號括起來,這樣構成的就是字元常量。比如'6'、'a'、'f'、'+'、'$'等。
注意:單引號只能括住
1個字元,而且不能是中文字元,下面的寫法是錯誤的:
'abc'
、'123456'、'
男'
4> 字串常量
將乙個或者多個字元用雙引號("")括起來,這樣構成的就是字串常量。比如"6"、"男"、"哇哈哈"、"abcd"、"my_car4",其實printf("hello world");語句中的"hello world"就是字串常量。
當乙個資料的值需要經常改變或者不確定時,就應該用變數來表示。比如遊戲積分。
1> 目的
* 任何變數在使用之前,必須先進行定義。
* 定義變數的目的是:在記憶體中分配一塊儲存空間給變數,方便以後儲存資料。
* 如果定義了多個變數,就會為這多個變數分別分配不同的儲存空間。
2> 格式
變數型別
變數名;
比如int num;
* 變數名屬於識別符號
* 變數型別的作用
1.不同型別的變數占用不同大小的儲存空間。系統會根據變數型別來分配相應的儲存空間。不同資料型別所占用的儲存空間是不一樣的,如果是字元型(char)變數,就分配1個位元組的儲存空間;如果是整型(int)變數,就分配4個位元組的儲存空間。
2.約束變數所存放的資料型別(方便運算),一旦給變數指明了型別,那麼這個變數就只能儲存這種型別的資料,比如整型(int)變數只能儲存整型資料,不能儲存浮點型資料。
3> 例項
int main()
int i;
char c;
int a, b;
return 0;
1> 賦值
l 往變數裡面存點東西,就是賦值。賦值語句後帶個分號;
i = 10;
注意:這裡的等號
=,並不是數學中的「相等」,而是
c語言中的賦值運算子,作用是將右邊的常量
10賦值給左邊的變數i
× 第一次賦值,可以稱為「初始化」
× 初始化的兩種形式
先定義,後初始化:int a; a = 10;
定義的同時進行初始化:int a = 10;
2> 修改
× 可以修改變數的值,多次賦值。每次賦值都會覆蓋原來的值
i = 10;
i = 20;
變數i最後的值是20
× 使用printf輸出乙個\多個變數的值
int a = 10, c = 11;
printf("a=%d,c=%d", a, c);
× double\float\char的輸出,格式符的一些小技巧
double height = 1.55;
char blood = 'a';
printf("height=%.2f,
血型是%c", height, blood);
× 簡單的加減操作
int a = 10 +20;
× 沒有初始化時不要拿來使用(下面的寫法是不建議的)
int score;
printf("score=%d", score);
3> 變數之間值的傳遞
× 可以將乙個變數的值賦值給另乙個變數
int a = 10;
int b = a;
× 連續賦值
a = b = 10;
4>
const關鍵字
剛才提到,預設情況下,變數的值是可以不斷改變的。不過,有時候我們會希望變數的值只在定義的時候初始化一次,以後都不能再改變,這個時候我們就可以使用const關鍵字來修飾變數。
int main()
const int i = 8;
i = 10;
return 0;
注意第2行,在int的前面加了個const關鍵字。表示變數i的值只會初始化一次,也就是說i的值永遠都是一開始的8,以後都不能再改了。所以編譯器會報第3行**(i = 10;)的
錯誤,不允許再次修改i的值。
1> 變數名相同(重複定義同乙個變數) int a =10; int a =12;
2> 變數的作用域不對
* 變數的作用域:變數的作用範圍(作用域)是從定義變數的那一行**開始,一直到它所在的{}結束,一旦離開這個範圍,變數就失效了。
* **塊
**塊其實就是用大括號{}括住的一塊**。
c語言規定:在不同作用域中允許喲同名變數,系統會為他們分配不同的儲存空間
同名變數的訪問:採取的是「就近原則」
黑馬程式設計師(一) 資料型別 常量 變數
1 靜態資料 概念 靜態資料是指一些永久性的資料,一般儲存在硬碟中。硬碟的儲存空間一般都比較大,現在普通計算機的硬碟都有500g 左右,因此硬碟中可以存放一些比較大的檔案。儲存的時長 計算機關閉之後再開啟,這些資料依舊還在,只要你不主動刪掉或者硬碟沒壞,這些資料永遠都在。2 動態資料 臨時資料 概念...
資料型別,常量,變數(C)
c語言是一種結構化語言,面向過程的語言,有著清晰的層次,可按照模組的方式對程式進行編寫,有利於程式的除錯。它的處理和表現能力都很強大,依靠全面的運算子和資料型別,可以容易的完成各種資料結構的建立。結構特點 乙個c語言源程式可由乙個或多個原始檔組成,乙個原始檔可由乙個或多個函式組成,但是乙個源程式有且...
05 資料型別 常量 變數
本文目錄 回到頂部 計算機中儲存的資料可以分為兩種 靜態資料和動態資料。1 靜態資料 1 概念 靜態資料是指一些永久性的資料,一般儲存在硬碟中。硬碟的儲存空間一般都比較大,現在普通計算機的硬碟都有500g 左右,因此硬碟中可以存放一些比較大的檔案。2 儲存的時長 計算機關閉之後再開啟,這些資料依舊還...