C 語言中的變量
在講解變量之前,我們先來看一段代碼:
int x;
int y=0;
char z='A';
x=6;
在上面這段代碼中出現(xiàn)的 x、y、z 都是一個(gè) C 變量。
變量是編程語言中不可或缺的組成部分。它承載這存貯數(shù)據(jù)以及計(jì)算結(jié)果等等功能,顧名思義變量就是可以再計(jì)算執(zhí)行過程中變化的量。這節(jié)課我們來學(xué)習(xí)下到底什么是變量。
1. 什么是變量?
變量是程序用來保存計(jì)算結(jié)果的存儲(chǔ)單元,為了方便訪問這塊存儲(chǔ)單元,我們給這塊存儲(chǔ)單元命名,該名稱即為變量名,在程序中通過變量名來訪問保存計(jì)算結(jié)果的存儲(chǔ)單元。
在下圖中,在內(nèi)存中有一塊存儲(chǔ)區(qū)域保存了計(jì)算結(jié)果 123,在程序中使用變量 X 表示這一塊存儲(chǔ)區(qū)域,如下所示:
你可以簡(jiǎn)單的把變量理解為一個(gè)存儲(chǔ)數(shù)據(jù)的盒子,我們要存儲(chǔ)的數(shù)據(jù)平時(shí)就放在盒子中。當(dāng)我們要使用數(shù)據(jù)的時(shí)候把盒子打開吧數(shù)據(jù)取出來就可以了。
2. C 語言中定義變量
在 C 語言中定義變量如下:
int x;
上面這行代碼就聲明了一個(gè)名為 x
的變量,這行代碼分為三部分:
- int:int 表示變量存儲(chǔ)的數(shù)據(jù)類型。數(shù)據(jù)類型的概念我們下個(gè)小節(jié)詳細(xì)講解;
- x:x 表示變量名稱;
- ;:C 語言代碼每一行都用分號(hào)結(jié)尾。
3. 變量命名規(guī)則
為了更方便程序的閱讀,以及讓程序更加的規(guī)范,給變量命名的時(shí)候不可以隨意命名,需要遵守變量的命名規(guī)則:
- 變量名稱可以是由字母,數(shù)字,下劃線(
_
)組成; - 字母可以是大寫字母,也可以是小寫字母;
- 單個(gè)字母可以作為變量名,但是單個(gè)數(shù)字和下劃線不可以單獨(dú)作為變量名;
- 當(dāng)組成變量名的字符大于等于 2 個(gè)時(shí),字母和下劃線可以作為變量名第一個(gè)字符,但是數(shù)字不可以;
- 理論上變量名的長(zhǎng)度是沒有限制的,但是有的編譯器超過 31 個(gè)字符就會(huì)產(chǎn)生錯(cuò)誤。不過超長(zhǎng)的字符變量名也會(huì)給編寫和閱讀程序帶來不便。
Tips:請(qǐng)注意英文字母變量的大小寫。在 Linux 以及 Unix 系統(tǒng)中,是嚴(yán)格區(qū)分大小寫的。
int A
和int a
,會(huì)被認(rèn)為是兩個(gè)不同的變量。
實(shí)例:
int A, a, _A, c0, _ddf5, res_1;
Tips:C 語言可以一行代碼聲明多個(gè)變量。
上面舉了幾個(gè)符合規(guī)則的變量名的例子。但是合乎規(guī)則不等于是合格的變量名。具體的變量名最好與要存儲(chǔ)的內(nèi)容有一定關(guān)聯(lián),便于程序閱讀。例如我的變量中要存儲(chǔ)的是數(shù)學(xué)成績(jī)分?jǐn)?shù),那么變量名可以叫做:
int Math_scores;
4. 變量的使用
變量的使用分為兩個(gè)步驟,聲明變量和為變量賦值,也叫初始化變量。
聲明變量類型,初始化變量。
# include <stdio.h>
int main(void)
{
int x,y;
int z=0;
x=2,y=5;
z=x+y;
printf("%d",z);
return 0;
}
# include <stdio.h>
int main(void)
{
char abc;
abc='I';
printf("%c",abc);
return 0;
}
5. 小結(jié)
編程語言中的變量是用來存儲(chǔ)中間結(jié)果與最終得到的計(jì)算結(jié)果的存儲(chǔ)單元。
在 C 語言中,變量的使用要經(jīng)歷變量類型和變量名稱的指定,也就是聲明,和變量給與一個(gè)初始值,也就是變量的初始化,這兩個(gè)過程后才能使用變量。
由于變量是可以隨時(shí)經(jīng)過再次賦值而發(fā)生變化的。因此,在使用變量的時(shí)候要特別注意每次是不是按照我們的預(yù)想進(jìn)行賦值。因?yàn)榉穷A(yù)想的賦值是程序中最容易出錯(cuò)的地方。