(二) 常量
常量的意思就是不可改變的量,是一個常數。同變數一樣,常量也分為整型常量、浮點型常量、字元型常量,還有字串常量、跳脫字元常量和地址常量。
(一)、整型常量
整型常量可以是長整型、短整型、有符號型、無符號型。在Tubbo C 2.0裡有符號整型常量的範圍從-32768到32767,無符號整型的為0到65535;有符號長整型的範圍為-2147483648到2147483647。無符號長整型的範圍為0到4294967295。短整型同字元型。
可以指定一個整型常量為二進位制、八進位制或十六進位制,如以下語句:
-129, 0x12fe, 0177
常量的前面有符號0x,這個符號表示該常量是十六進位制表示。如果前面的符號只有一個字母0,那麼表示該常量是八進位制。
有時我們在常量的後面加上符號L或者U,來表示該常量是長整型或者無符號整型:
22388L, 0x4efb2L, 40000U
字尾可以是大寫,也可以是小寫。
(二)、浮點型常量
一個浮點型常量由整數和小數兩部分構成,中間用十進位制的小數點隔開。有些浮點樹非常大或者非常小,用普通方法不容易表示,可以用科學計數法或者指數方法表示。下面是一個例項:
3.1416, 1.234E-30, 2.47E201
注意在C語言中,數的大小也有一定的限制。對於float型浮點數,數的表示範圍為-3.402823E38到3.402823E38,其中-1.401298E-45到1.401298E-45不可見。double型浮點型常數的表示範圍為-1.79E308到1.79E308,其中-4.94E-324到4.94E-324不可見。
在浮點型常量裡我們也可以加上字尾。
FloatNumber=1.6E10F; /*有符號浮點型*/
LongDoubleNumber=3.45L; /*長雙精度型*/
字尾可大寫也可小寫。
說明:
1. 浮點常數只有一種進位制(十進位制)。
2. 所有浮點常數都被預設為double。
3. 絕對值小於1的浮點數, 其小數點前面的零可以省略。如:0.22可寫為.22, -0.0015E-3可寫為-.0015E-3。
4. Turbo C預設格式輸出浮點數時, 最多隻保留小數點後六位
(三)、字元型常量
字元型常量所表示的值是字元型變數所能包含的值。我們可以用ASCII表示式來表示一個字元型常量,或者用單引號內加反斜槓表示跳脫字元。
'A', '\x2f', '\013';
其中:\x表示後面的字元是十六進位制數,\0表示後面的字元是八進位制數。
注意:在Turbo C 2.0中,字元型常量表示數的範圍是-128到127,除非你把它宣告為unsigned,這樣就是0到255。
(四)、字串常量
字串常量就是一串字元,用雙引號括起來表示。
Hello,World!
\nEnter selection:
\aError!!!
(五)、跳脫字元
上面我們見到的\x,\n,\a等等都是叫跳脫字元,它告訴編譯器需要用特殊的方式進行處理。下面給出所有的跳脫字元和所對應的意義:
跳脫字元 描述
\' 單引號
\ 雙引號
\\ 反斜槓
\0 空字元
\0nnn 八進位制數
\a 聲音符
\b 退格符
\f 換頁符
\n 換行符
\r 回車符
\t 水平製表符
\v 垂直製表符
\x 十六進位制符
它們的具體用法我們到講輸出語句時再介紹。
(六)、地址常量
我們前面說的變數是儲存資料的空間,它們在記憶體裡都有對應的地址。在C語言裡可以用地址常量來引用這些地址,如下:
&Counter, ∑
&是取地址符,作用是取出變數(或者函式)的地址。在後面的輸入語句和指標裡還會說明。
這一節所講到的變數和常量知識可以說是在一切程式中都要用到,特別是變數的宣告和命名規則。
無論是加減乘除還是大於小於,都需要用到運算子,在C語言中的運算子和我們平時用的基本上都差不多。
運算子包括賦值運算子、算術運算子、邏輯運算子、位邏輯運算子、位移運算子、關係運算符、自增自減運算子。大多數運算子都是二目運算子,即運算子位於兩個表示式之間。單目運算子的意思是運算子作用於單個表示式。(具體什麼是表示式下一節再說)