C語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。下面是關於C語言學習關於資料的介紹,歡迎閱讀學習!
1.各種資料型別介紹1.1整型
整形包括短整型、整形和長整形。
1.1.1短整形
short a=1;
1.1.2整形
一般佔4個位元組(32位),最高位代表符號,0表示正數,1表示負數,取值範圍是-2147483648~2147483647,在記憶體中的儲存順序是地位在前、高位在後,例如0x12345678在記憶體中的儲存如下:
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
資料: 78 56 34 12
定義:用int關鍵字,舉例如下:
int a=6;
1.1.3長整形
long a=10;
1.2浮點型
浮點型包括單精度型和雙精度型。
1.2.1單精度型
浮點型,又稱實型,也稱單精度。一般佔4個位元組(32位),
float a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
資料: 00 00 90 40
1.2.2雙精度型
一般佔8個位元組(64位)
double a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c 0x0012ff7d 0x0012ff7e 0x0012ff7f
資料: 00 00 00 00 00 00 12 40
1.3字元型別
在各種不同系統中,字元型別都佔一個位元組(8位)。定義如下:
char c='a';
也可以用字元對應的ASCII碼賦值,如下:
char c=97;
如果你想學習C語言可以來這個群,首先是三三零,中間是八五九,最後是七六六,裡面有大量的學習資料可以下載
2.資料型別與“模子”short、int、long、char、float、double 這六個關鍵字代表C 語言裡的六種基本資料型別。
怎麼去理解它們呢? 舉個例子:見過藕煤球的那個東西吧?(沒見過?煤球總見過吧)。那個東西叫藕煤器,拿著它在和好的煤堆裡這麼一咔,一個煤球出來了。半徑12cm,12 個孔。不同型號的藕煤器咔出來的煤球大小不一樣,孔數也不一樣。這個藕煤器其實就是個模子。
現在我們聯想一下,short、int、long、char、float、double 這六個東東是不是很像不同型別的藕煤器啊?拿著它們在記憶體上咔咔咔,不同大小的記憶體就分配好了,當然別忘了給它們取個好聽的`名字。
在32 位的系統:
short 咔出來的記憶體大小是2 個byte;
int 咔出來的記憶體大小是4 個byte;
long 咔出來的記憶體大小是4 個byte;
float 咔出來的記憶體大小是4 個byte;
double 咔出來的記憶體大小是8 個byte;
char 咔出來的記憶體大小是1 個byte。
(注意這裡指一般情況,可能不同的平臺還會有所不同,具體平臺可以用sizeof 關鍵字測試一下)
很簡單吧?咔咔咔很爽吧?是很簡單,也確實很爽,但問題就是你咔出來這麼多記憶體塊,你總不能給他取名字叫做x1,x2,x3,x4,x5…或者長江1 號,長江2 號…吧。它們長得這麼像(不是你家的老大,老二,老三…),過一陣子你就會忘了到底哪個名字和哪個記憶體塊匹配了(到底誰嫁給誰了啊?^_^)。所以呢,給他們取一個好的名字絕對重要。下面我們就來研究研究取什麼樣的名字好。
3.變數的命名規則1)命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
識別符號最好採用英文單詞或其組合,不建議使用拼音。程式中的英文單詞一般不要太複雜,用詞應當準確。
2)命名的長度應當符合“min-length && max-information”原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。識別符號的長度一般不要過長,較長的單詞可通過去掉“母音”形成縮寫。
另外,英文詞儘量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。
3)當識別符號由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。比如:
int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
4)儘量避免名字中出現數字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅動開發時為管腳命名,非編號名字反而不好。
初學者總是喜歡用帶編號的變數名或函式名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。
5)對在多個檔案之間共同使用的全域性變數或函式要加範圍限定符(建議使用模組名(縮寫)作為範圍限定符)。
(GUI_ ,etc)識別符號的命名規則:
6)識別符號名分為兩部分:規範識別符號字首(字尾) + 含義標識。非全域性變數可以不用使用範圍限定符字首。
4)程式中不建議出現僅靠大小寫區分的相似的識別符號。
例如:int x, X; 變數x 與X 容易混淆
void foo(int x); 函式foo 與FOO 容易混淆
void FOO(float x);
這裡還有一個要特別注意的就是1(數字1)和l(小寫字母l)之間,0(數字0)和o(小寫字母o)之間的區別。這兩對真是很難區分的。
5)考慮到習慣性問題,區域性變數中可採用通用的命名方式,僅限於n、i、j 等作為迴圈變數使用。
一定不要寫出如下這樣的程式碼:
int p;
char i;
int c;
char * a;
一般來說習慣上用n,m,i,j,k 等表示int 型別的變數;c,ch 等表示字元型別變數;a 等表示陣列;p 等表示指標。當然這僅僅是一般習慣,除了i,j,k 等可以用來表示迴圈變數外,別的字元變數名儘量不要使用。
*6)定義變數的同時千萬千萬別忘了初始化。定義變數時編譯器並不一定清空了這塊記憶體,它的值可能是無效的資料。