hi!我是漁火。今天開始跟我學(xué),從零開始學(xué)C語(yǔ)言(四)
今天我們來講C語(yǔ)言的變量,變量是指程序運(yùn)行期間其值可以發(fā)生變化的量。變量用于從外部接收數(shù)據(jù)、保存一些不斷變化的值、保存中間結(jié)果及最終結(jié)果,而這些都無法用常量來實(shí)現(xiàn)。
小白提示:在C語(yǔ)言中,所有的定義必須先定義后使用。
變量的定義格式為:類型說明符 變量名表。
提示:
(1)類型說明符必須是C語(yǔ)言中的有效數(shù)據(jù)類型。
(2)變量名可以由一個(gè)或多個(gè)變量名組成,各變量之間用”,“。變量名必須是合法的C語(yǔ)言標(biāo)識(shí)符,變量名一般使用小寫字母。
(3)變量的定義必須放在變量的使用之前,一般在函數(shù)體的開頭部分進(jìn)行定義。
以下舉例:
int r; //定義r為整型 float v,f; //定義v,f為單精度浮點(diǎn)型 double x,y; //定義x,y為雙精度浮點(diǎn)型 char ch; //定義ch為字符型
C語(yǔ)言允許在定義變量的同時(shí)對(duì)變量賦值,這個(gè)過程稱為變量的初始化。對(duì)變量初始化的需注意:1、對(duì)一個(gè)變量賦初值之后,該賦值被存儲(chǔ)在分配給該變量的內(nèi)存空間中。2、不允許對(duì)多個(gè)未定義的同類型變量連續(xù)初始化。3、初始化時(shí),一般應(yīng)使”=“右邊的表達(dá)式的數(shù)據(jù)類型和”=“左邊的變量的類型一致,如不一致,系統(tǒng)會(huì)進(jìn)行自動(dòng)賦值轉(zhuǎn)換。4、沒有進(jìn)行初始化的變量,其值是由定義時(shí)所使用的存儲(chǔ)類型決定的。
變量定義之后,就可以在程序中使用,在程序中使用變量,稱為變量的引用。使用變量時(shí),應(yīng)該先賦值,后引用。在程序中可以通過初始化、賦值表達(dá)式或者輸入函數(shù)scanf()來對(duì)變量賦值。
以下舉例:
#include//2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { int a,b,c; char ch='Y' ; a=8; b=a+ch; scanf("%d",&c); printf("%d,%d,%d,%c ",a,b,c,ch); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
運(yùn)行結(jié)果如下:
分析:在main()函數(shù)中定義了三個(gè)int型變量啊a、b、c,一個(gè)char型變量ch。
一個(gè)整型變量用來保存整數(shù)。在C語(yǔ)言中,整型又分為:短整型,整型,長(zhǎng)整型,無符號(hào)整型,無符號(hào)短整型和無符號(hào)長(zhǎng)整形李毅中。
不同類型整型變量很多定義與使用舉例:
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { int a,b,c,d; unsigned long e; a=6; b=8; e=10; c=a+e; d=b+e; printf("c=%d,d=%d ",c,d); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
接下來讓我們看一例短整型變量的溢出。
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { short int a,b; a=32767; b=a+1; printf("a=%d,b=%d ",a,b); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
分析:因?yàn)槎陶妥兞康娜≈捣秶?32768~32767,變量a的值加1以后超出了該范圍,產(chǎn)生意想不到的結(jié)果。 C語(yǔ)言中實(shí)型變量分為單精度和雙精度兩種類型。單精度型數(shù)據(jù)能保留7位有效數(shù)字,雙精度數(shù)據(jù)能保留16位有效數(shù)字。 接下來我們看一例實(shí)型變量的代碼:
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { float a=8888.56789; double b=8888.567895678; printf("a=%f,b=%f ",a,b); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
分析:因?yàn)閍是單精度浮點(diǎn)型,有效字位數(shù)位7位,其中整數(shù)已占4位,故3位小數(shù)之后的均為無效數(shù)字。但是b是雙精度型,有效數(shù)字位16位。
字符型變量的值是字符常量,即用單引號(hào)引起來的單個(gè)字符。字符型變量的類型說明符是char,其類型說明的格式和命名規(guī)則與整型變量相同。
接下來我們來看一個(gè)字符變量的使用示例:
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='Y'; y2=89; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
我們可以利用字符變量將大寫字母轉(zhuǎn)換為小寫字母,也可以將小寫字母轉(zhuǎn)換為大寫字母。
大寫字母轉(zhuǎn)換為小寫字母:
?
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='Y'; y2='U'; y1=y1+32; y2=y2+32; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
小寫字母轉(zhuǎn)換為大寫字母:
?
#include運(yùn)行結(jié)果如下://2023.1.28 漁火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='y'; y2='u'; y1=y1-32; y2=y2-32; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 漁火 by Linux迷 www.linuxmi.com return 0; }
? ?
審核編輯:湯梓紅
?
?
評(píng)論
查看更多