官术网_书友最值得收藏!

2.3.2 變量

1.變量的命名和標識符

在程序中可以改變其值的量稱為變量。變量名是標識符。

我們剛介紹的符號常量名以及后面要介紹的函數名、數組名、結構體名和共用體名等都是標識符。標識符是由用戶定義的,要符合下面的規定。

① 標識符是以字母或下劃線開頭,由字母、數字和下劃線組成的字符序列。例如,area、sum、score、_rec、PI等都是合法的標識符。

② 標識符是區分大小寫的。例如,SUM、sum、Sum是3個不同的標識符。

③ 不能使用C語言的關鍵字定義其他的標識符。例如,if、for、else、while等都是關鍵字,不能再作為其他的標識符使用。

④ 定義標識符時,盡量做到“見名知義”,以增加程序的可讀性。例如,可以用area作為面積的標識符,用score作為成績的標識符,等等。

⑤ 標識符的長度視具體運行環境而定。

2.變量的定義

變量是用于存儲數據的,因此每個變量必須屬于某種數據類型。而且,在程序中,使用變量之前必須先將其聲明為屬于某種數據類型。例如:

            char  c1,c2;                /* 說明c1、c2為字符型變量 */
            int  sum,score;             /* 說明sum、score為整型變量 */
            long  L;                    /* 說明L為長整型變量 */
            float  f1,f2;               /* 說明f1、f2為單精度實型變量 */
            double  d1,d2;              /* 說明d1、d2為雙精度實型變量 */

由此可見,聲明變量的形式為:

            數據類型名 變量名列表

變量的類型被聲明后,編譯程序就為其分配相應類型的存儲單元,可以在程序中給該變量賦相應類型允許的值,并決定了該變量所能夠執行的操作。例如,在某程序中有了上面的定義之后,編譯程序會為變量c1、c2各分配1個字節的存儲單元,為變量sum、score、f1、f2各分配4個字節的存儲單元。在程序中可以為變量c1、c2賦字符型的值,如'a'、'A';為變量sum、score賦整型的值,如100、-90。還決定了sum、score可以進行模運算(求余數),而f1、f2就不能進行模運算。

注意:C語言中沒有字符串類型,處理該類型時要使用在后面介紹的指針或字符數組。

3.變量的初始化

變量在聲明的同時可以給其賦值,稱為變量的初始化。例如:

            char  c1='*',c2='a';  /* c1、c2為字符型變量,同時給c1、c2分別賦初值'*'、
                                  'a'*/
            int  sum=340;          /* sum為整型變量,同時給sum賦初值340 */
            float  f1=3.14,f2;    /* f1、f2為實型變量,同時給f1賦初值3.14,但沒有給
                                  f2賦初值,也就是說f2沒有被初始化 */

注意:初始化不是在編譯階段完成的,而是在程序運行時對相應變量賦初值的,相當于有一個賦值語句。例如:

            int sum=340;

相當于:

            int sum;            /* 說明sum為整型變量 */
            sum=340;            /* 賦值語句,將30賦予sum */

如果任何時候都不希望改變某個變量的值,可以將該變量聲明為“固定”變量,方法是在定義并初始化該變量時,為其聲明加上保留字const。例如:

            const int t=1000;

這樣,程序中就不能改變t的值了,任何時候變量t的值都為1000。

主站蜘蛛池模板: 镇原县| 湘潭县| 姜堰市| 阿拉善右旗| 河津市| 周口市| 石林| 鱼台县| 包头市| 淮滨县| 屏山县| 玉龙| 托里县| 资溪县| 陆河县| 新津县| 贺州市| 凭祥市| 深州市| 顺义区| 潞城市| 伊春市| 酉阳| 南投县| 工布江达县| 中宁县| 札达县| 桐柏县| 浦城县| 通辽市| 秦安县| 大渡口区| 平乐县| 轮台县| 磐石市| 乐至县| 永安市| 新晃| 中江县| 娱乐| 嘉禾县|