hi!我是漁火。今天開始跟我學,從零開始學C語言(四)
今天我們來講C語言的變量,變量是指程序運行期間其值可以發生變化的量。變量用于從外部接收數據、保存一些不斷變化的值、保存中間結果及最終結果,而這些都無法用常量來實現。
小白提示:在C語言中,所有的定義必須先定義后使用。
變量的定義格式為:類型說明符 變量名表。
提示:
(1)類型說明符必須是C語言中的有效數據類型。
(2)變量名可以由一個或多個變量名組成,各變量之間用”,“。變量名必須是合法的C語言標識符,變量名一般使用小寫字母。
(3)變量的定義必須放在變量的使用之前,一般在函數體的開頭部分進行定義。
以下舉例:
int r; //定義r為整型 float v,f; //定義v,f為單精度浮點型 double x,y; //定義x,y為雙精度浮點型 char ch; //定義ch為字符型
C語言允許在定義變量的同時對變量賦值,這個過程稱為變量的初始化。對變量初始化的需注意:1、對一個變量賦初值之后,該賦值被存儲在分配給該變量的內存空間中。2、不允許對多個未定義的同類型變量連續初始化。3、初始化時,一般應使”=“右邊的表達式的數據類型和”=“左邊的變量的類型一致,如不一致,系統會進行自動賦值轉換。4、沒有進行初始化的變量,其值是由定義時所使用的存儲類型決定的。
變量定義之后,就可以在程序中使用,在程序中使用變量,稱為變量的引用。使用變量時,應該先賦值,后引用。在程序中可以通過初始化、賦值表達式或者輸入函數scanf()來對變量賦值。
以下舉例:
#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; }
運行結果如下:
分析:在main()函數中定義了三個int型變量啊a、b、c,一個char型變量ch。
一個整型變量用來保存整數。在C語言中,整型又分為:短整型,整型,長整型,無符號整型,無符號短整型和無符號長整形李毅中。
不同類型整型變量很多定義與使用舉例:
#include運行結果如下://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運行結果如下://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; }
分析:因為短整型變量的取值范圍是-32768~32767,變量a的值加1以后超出了該范圍,產生意想不到的結果。 C語言中實型變量分為單精度和雙精度兩種類型。單精度型數據能保留7位有效數字,雙精度數據能保留16位有效數字。 接下來我們看一例實型變量的代碼:
#include運行結果如下://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; }
分析:因為a是單精度浮點型,有效字位數位7位,其中整數已占4位,故3位小數之后的均為無效數字。但是b是雙精度型,有效數字位16位。
字符型變量的值是字符常量,即用單引號引起來的單個字符。字符型變量的類型說明符是char,其類型說明的格式和命名規則與整型變量相同。
接下來我們來看一個字符變量的使用示例:
#include運行結果如下://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; }
我們可以利用字符變量將大寫字母轉換為小寫字母,也可以將小寫字母轉換為大寫字母。
大寫字母轉換為小寫字母:
?
#include運行結果如下://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; }
小寫字母轉換為大寫字母:
?
#include運行結果如下://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; }
? ?
審核編輯:湯梓紅
?
?
評論
查看更多