STC單片 機C語言變量和數據類型
主講:何賓
Email :hebin@mail.buct.edu.cn
2016.03
C語言中的常量和變量
對于基本數據類型,按其值是否可變又分為常量和變量兩種。
在程序執行過程中,其值不發生改變的量稱為常量,其值可變的量
稱為變量。它們可與數據類型結合起來進行分類,例如,可分為整
型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量。
C語言中的常量和變量
--常量
在程序執行過程中,其值不發生改變的量稱為常量。這種說法
過于寬泛,這是因為如果我們在程序中定義了一個變量,但是在程
序的運行中不修改變量的值,我們也可以把它看作常量。通過下面
的兩種方法,可以強制常量的定義和說明。
? const關鍵字
在ANSI C中 ,const類型修飾符用于定義和訪問定義為常數的
對象。在程序運行的時候 ,不能修改這些常數對象的值。在程序中
const類型修飾符不能用于定義變量。當一個變量前面添加了const
類型修飾符時 ,其實際上就由變量變成了常量。當在源文件中定義
了常量對象時 ,就將它們進行了初始化。
C語言中的常量和變量
--常量
在C語言中,使用const關鍵字定義常量的格式為:
const 數據類型 標識符=值;
其中:
? 數據類型為C51編譯器支持的數據類型關鍵字 (后面詳細介紹 )
? 標識符為所聲明常量的名字。
? 使用符號 “=”給常量分配一個具體的值。
C51編譯器遵循ANSI對常數對象的定義規則,規則包括以下:
? 對于只由const類型修飾符聲明的變量 ,它可以保存在data、
idata或者xdata區域。
C語言中的常量和變量
--常量
? 如果需要將一個變量存放在ROM中 ,則用code存儲器類型聲明
? 包含const far的聲明變量被保存在HCONST存儲器空間。典型
地 ,將該區域分配到ROM存儲器中。
? 最后 ,STRING編譯器命令定義了所保存字符串常量的位置。該
命令允許將字符串放在CODE存儲器、HCONST存儲器或者
XCONST存儲器 (XDATA內的常數空間)。
C語言中的常量和變量
--常量
【例9-1】通過const關鍵字聲明常量的例子1。
?代碼清單9-1 main.c文件
int main()
{
const float b=7.4; //定義浮點常量,賦值為7.4
const int a=100; //定義整型常量,賦值為100
const char c=10; //定義字符型常量,賦值為10
return 1;
}
C語言中的常量和變量
--常量
下面對該例子進行分析,分析步驟主要包括:
? 進入本書所提供資料的stc_program_example\例子9-1\ 目錄下
在Keil μVision5集成開發環境下選擇top.uvproj工程名字 ,打開
該設計。
? 在 μVision5 集成開發環境主界面主菜單下 ,選擇 Debug-
>Start/Stop Debug Session選項 ,進入調試器模式。
C語言中的常量和變量
--常量
? 在調試器界面工具欄內 ,單擊 按鈕。運行單步 ,直到運行完程
序。
C語言中的常量和變量