C語言第四節數據類型、常量、變量


  1. 數據

  1. 什么是數據

生活中時時刻刻都在跟數據打交道,比如體重數據、血壓數據、股價數據等。在我們使用計算機的過程中,會接觸到各種各樣的數據,有文檔數據、圖片數據、視頻數據,還有聊QQ時產生的文字數據、用迅雷下載的文件數據等。

  1. 數據的分類

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

  1. 靜態數據
  • 概念:靜態數據是指一些永久性的數據,一般存儲在硬盤中。硬盤的存儲空間一般都比較大,現在普通計算機的硬盤都有500G左右,因此硬盤中可以存放一些比較大的文件。
  • 存儲的時長:計算機關閉之后再開啟,這些數據依舊還在,只要你不主動刪掉或者硬盤沒壞,這些數據永遠都在。
  • 哪些是靜態數據:靜態數據一般是以文件的形式存儲在硬盤上,比如文檔、照片、視頻等。

 

  1. 動態數據(臨時數據)
  • 概念:動態數據指在程序運行過程中,動態產生的臨時數據,一般存儲在內存中。內存的存儲空間一般都比較小,現在普通計算機的內存只有4G左右,因此要謹慎使用內存,不要占用太多的內存空間。
  • 存儲的時長:計算機關閉之后,這些臨時數據就會被清除。
  • 哪些是動態數據:當運行某個程序(軟件)時,整個程序就會被加載到內存中,在程序運行過程中,會產生各種各樣的臨時數據,這些臨時數據都是存儲在內存中的。當程序停止運行或者計算機被強制關閉時,這個程序產生的所有臨時數據都會被清除。

    你可能會問:既然硬盤的存儲空間這么大,為何不把所有的應用程序加載到硬盤中去執行呢?有個主要原因是內存的訪問速度比硬盤快N倍

程序員最關心的是什么數據呢?

 

  1. 靜態數據和動態數據的轉換

靜態 -> 動態

動態 -> 靜態

 

  1. 數據的大小

  • 不管是靜態還是動態數據,都是0和1組成的。0和1如何組成這么多的數據?
  • 數據都有大小,靜態數據就會占用硬盤的空間,動態數據就占用內存的空間
  • 數據越大,包含的0和1就越多,比特位和字節
  • 1 KB = 1024 B1 MB = 1024 KB1 GB = 1024 MB1 TB = 1024 GB

 

  1. app中的各種數據

  1. C語言中的數據類型

由於app中的數據種類繁多,為了方便操作數據,C語言數據進行了分類

 

  1. 常量

  1. 什么是常量

常量,表示一些固定的數據

 

  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"就是字符串常量。

那究竟6、'6'、"6"在用法上有什么區別呢?這個先不作討論,以后會介紹。

 

  1. 習題

下面的都是什么類型的常量?

10.6 19.0f 0.0 0 'A' "男" "mj" 294 '+'

 

  1. 變量

  1. 什么是變量

當一個數據的值需要經常改變或者不確定時,就應該用變量來表示。比如游戲積分。

 

  1. 定義變量

  2. 目的
  • 任何變量在使用之前,必須先進行定義。
  • 定義變量的目的是:在內存中分配一塊存儲空間給變量,方便以后存儲數據。
  • 如果定義了多個變量,就會為這多個變量分別分配不同的存儲空間。
  1. 格式

變量類型 變量名;

比如int num;

  • 變量名屬於標識符
  • 變量類型
  • 不同類型的變量占用不同大小的存儲空間。內存極其有限,分配適當的存儲空間
  • 約束變量所存放的數據類型(方便運算)
  1. 實例

int main()

{

int i;

char c;

int a, b;

return 0;

}

 

  1. 變量的使用

  2. 賦值
  • 往變量里面存點東西,就是賦值。賦值語句后帶個分號;

i = 10;

注意:這里的等號=,並不是數學中的"相等",而是C語言中的賦值運算符,作用是將右邊的常量10賦值給左邊的變量i

  • 第一次賦值,可以稱為"初始化"
  • 初始化的兩種形式
  • 先定義,后初始化:int a; a = 10;
  • 定義的同時進行初始化:int a = 10;
  1. 修改
  • 可以修改變量的值,多次賦值。每次賦值都會覆蓋原來的值

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);

  1. 變量之間值的傳遞
  • 可以將一個變量的值賦值給另一個變量

int a = 10;

int b = a;

  • 連續賦值

a = b = 10;

 

  1. 常見錯誤

  2. 變量名相同 int a = 10; int a = 12;
  3. 變量的作用域不對
  • 變量的創建和釋放過程
  • 代碼塊作用域 { int a = 10; }

 

  1. 習題

    1. 交換整型變量a、b的值。比如a=10、b=11;交換之后a的值是11,b的值是10。用兩種方式實現:
  • 使用第三方變量

int temp;

temp = a;

a = b;

b = temp;

  • 不使用第三方變量

a = b - a;

b = b - a;

a = b + a;

 

內容來源:傳智播客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM