03 黑馬程式設計師 資料型別 常量 變數

2021-06-21 10:44:17 字數 4005 閱讀 6914

計算機中儲存的資料可以分為兩種:靜態資料和動態資料。

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 儲存的時長 計算機關閉之後再開啟,這些資料依舊還...