一、數據
圖片文字等都是數據,在計算機中以0和1存儲。
(一)分類
數據分為靜態數據和動態數據。
①. 靜態數據:一些永久性的的數據,一般存儲在硬盤中,只要硬盤沒壞數據都是存在的。一般以文件的形式存儲在硬盤上,電腦關機重啟后依然存在。
②. 動態數據:程序運行過程中,動態產生的的臨時數據,一般存儲在內存中,內存的存儲空間一般較小,計算機關閉后這些數據就會被清除。軟件或者電腦關閉則這些臨時數據會被清除。
③. 靜態數據和動態數據可以轉換。
④. 注意:為什么不把動態數據存放到硬盤?因為直接訪問內存的速度更快。軟件安裝在硬盤,運行在內存。程序員應該更加關心內存數據。
(二)數據大小
①. 所有的數據都是由0和1組成的。
②. 數據都有大小,靜態數據占硬盤空間,動態數據占內存空間。
③. 數據越大,包含的0和1就越多,
④. 存儲數據的單位是比特位和字節。一個1或者0就是一個比特位,即1bit。
⑤. 計算機中,以字節為單位存儲數據。1字節=8比特位(1Byte=8bit)。
⑥. 1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B。
(三)C語言中的數據類型
- 基本數據類型
1) 整型 (int %d)
2) 字符型 (char %c)
3) 浮點型 %d
①. 單精度浮點型(float)
②. 雙精度浮點型(double)
- 2.指針類型 void *
3.空類型 void
-
4.構造類型
1) 數組 a[]
2) 結構體 struct
3) 枚舉 enum
4) 共用體 union
注意:C語言中沒有布爾類型,表示開始和暫停一般使用0和1表示。
二、常量
(一)定義
常量表示固定的數據。
(二)分類
①. 整型常量 如6,27,-299
②. 浮點型常量 如5.43,-2.3,5.67f
③. 字符常量 如‘6’,‘a’,‘F’(不能是中文如‘男’)
④. 字符串常量 如“6”,“男”,“nanabc”
三、變量
(一)定義
如果一個數據的值時不確定的,或者經常需要改變,則用變量來表示。
(二)定義變量
目的:變量使用前必須先進行定義。在內存中分配一塊存儲空間給變量,以便以后存儲數據。如果定義了多個變量則為多個變量分別分配不同的存儲空間。
格式:變量類型+變量名;
舉例:int a;char c;
注意:變量名屬於標識符,需要符合標識符的命名規范。
問題:為什么定義的變量有很多的類型?
答:不同類型的變量占用不同大小的存儲空間,因為內存極其有限,分配適當的存儲空間可以以最少的空間來存儲它們,以節省空間。
記住:只要是不確定的數據就應該定義變量來進行保存。在64位編譯器下,int類型占4個字節,共4X8=32bit,char類型占1個字節。
(三)變量的使用
初始化:有兩種形式。1.int a;a=10;2.int a=10;
修改:可以修改變量的值,多次賦值以覆蓋。
輸出:使用占位符輸出變量。各種類型的占位符如下:
Int %d或者%i
Float /double %f(默認情況下輸出6位,可以使用.2f來控制)
Long %ld
Long long %lld
Char %c
字符串 %s
Unsigned long %zd
(四)變量使用注意
變量的作用域:從變量定義的哪一行開始,直到代碼塊結束。
Return;退出函數,清除內存中的數據。
建議:使用矩形方框和excel來分析內存。
代碼塊{}的作用:可以用來提高性能,即時回收不再使用的變量。
(五)練習
練習:使用兩種方法來交換兩個變量的值。
第一種:

#include<stdio.h>
//交換兩個變量的值
int main() { int a=10; int b=4; printf("a=%d,b=%d\n",a,b); //定義一個中間變量來完成兩個變量之間的交換
int temp; temp=a; a=b; b=temp; printf("a=%d,b=%d\n",a,b); return 0; }
第二種:

1 #include<stdio.h>
2
3 int main() 4
5 { 6
7 int a=10; 8
9 int b=4; 10
11 printf("a=%d,b=%d\n",a,b); 12
13 a=b-a; 14
15 b=b-a; 16
17 a=a+b; 18
19 printf("a=%d,b=%d\n",a,b); 20
21 return 0; 22
23 }