C51編譯器的擴充套件關鍵字

2021-05-22 11:23:00 字數 3606 閱讀 1313

附表1-2

c51編譯器的擴充套件關鍵字

關鍵字用 途

說 明auto

儲存種類說明

用以說明區域性變數,預設值為此

break

程式語句

退出最內層迴圈

case

程式語句

switch

語句中的選擇項

char

資料型別說明

單位元組整型數或字元型資料

const

儲存型別說明

在程式執行過程中不可更改的常量值

continue

程式語句

轉向下一次迴圈

default

程式語句

switch

語句中的失敗選擇項do

程式語句

構成do..while迴圈結構

double

資料型別說明

雙精度浮點數

else

程式語句

構成if..else選擇結構

enum

資料型別說明

列舉extern

儲存種類說明

在其他程式模組中說明了的全域性變數

flost

資料型別說明

單精度浮點數

for

程式語句

構成for迴圈結構

goto

程式語句

構成goto轉移結構if

程式語句

構成if..else選擇結構

int

資料型別說明

基本整型數

long

資料型別說明

長整型數

register

儲存種類說明

使用cpu內部寄存的變數

return

程式語句

函式返回

short

資料型別說明

短整型數

signed

資料型別說明

有符號數,二進位制資料的最高位為符號位

sizeof

運算子計算表示式或資料型別的位元組數

static

儲存種類說明

靜態變數

struct

資料型別說明

結構型別資料

swicth

程式語句

構成switch選擇結構

typedef

資料型別說明

重新進行資料型別定義

union

資料型別說明

聯合型別資料

unsigned

資料型別說明

無符號數資料

void

資料型別說明

無型別資料

volatile

資料型別說明

該變數在程式執行中可被隱含地改變

while

程式語句

構成while和do..while迴圈結構

附表1-1

ansic標準關鍵字

關鍵字用 途說 明

bit

位標量宣告

宣告乙個位標量或位型別的函式

sbit

位標量宣告

宣告乙個可位定址變數

sfr

特殊功能暫存器宣告

宣告乙個特殊功能暫存器

sfr16

特殊功能暫存器宣告

宣告乙個16位的特殊功能暫存器

data

儲存器型別說明

直接定址的內部資料儲存器

bdata

儲存器型別說明

可位定址的內部資料儲存器

idata

儲存器型別說明

間接定址的內部資料儲存器

pdata

儲存器型別說明

分頁定址的外部資料儲存器

xdata

儲存器型別說明

外部資料儲存器

code

儲存器型別說明

程式儲存器

interrupt

中斷函式說明

定義乙個中斷函式

reentrant

再入函式說明

定義乙個再入函式

using

暫存器組定義

定義晶元的工作暫存器

附錄二 at89c51特殊功能暫存器列表(適用於同一架構的晶元)

帶*號的特殊功能暫存器都是可以位定址的暫存器

符 號地 址

注 釋*acc

e0h累加器*b

f0h

乘法暫存器

*psw

d0h程式狀態字sp

81h

堆疊指標

dpl

82h

資料儲存器指標低8位

dph

83h

資料儲存器指標高8位

*ie

a8h

中斷允許控制器

*ip

d8h

中斷優先控制器

*p0

80h

埠0*p1

90h埠1

*p2

a0h

埠2*p3

b0h埠3

pcon

87h電源控制及波特率選擇

*scon

98h序列口控制器

sbuf

99h序列資料緩衝器

*tcon

88h定時器控制

tmod

89h定時器方式選擇

tl0

8ah

定時器0低8位

tl1

8bh

定時器1低8位

th0

8ch

定時器0低8位

th1

8dh

定時器1高8位

附錄三 運算子優先順序和結合性

級 別類 別

名 稱運算子

結合性1

強制轉換、陣列、

結構、聯合

強制型別轉換

( )

右結合下標

[ ]

訪問結構或聯合成員

->或.2

邏 輯邏輯非!

左結合字 位按位取反~

增 量加一++

減 量減一--

指 針取位址&

取內容*

算 術單目減-

長度計算

長度計算

sizeof 3

算 術乘*

右結合除/

取模%

4 算術和指標運算加+

減- 5

字 位左移

<<  右移

>>  6

關係大於等於

>= 大於

小於等於

<= 小於

<  7

恆等於==

不等於!= 8

字 位按位與& 9

按位異或^

10 按位或| 11

邏 輯邏輯與&&

左結合12

邏輯或|| 13

條 件條件運算?:

14 賦 值賦值=

復合賦值

op= 15

逗 號逗號運算,

右結合

C51編譯器的擴充套件C語言關鍵字

bit 位標量宣告宣告乙個位標量或位型別的函式 sbit 位標量宣告宣告乙個可位定址變數 sfr 特殊功能暫存器宣告宣告乙個特殊功能暫存器 sfr16 特殊功能暫存器宣告宣告乙個16位的特殊功能暫存器 data 儲存器型別說明直接定址的內部資料儲存器 idata 儲存器型別說明間接定址的內部資料儲存...

用volatile關鍵字防止變數被編譯器優化

用volatile關鍵字防止變數被編譯器優化 2010 02 04 11 18 為了避免這種情況,我們使用volatile關鍵字來防止程式被編譯器優化。具體的使用方法,我們用下面的程式來說明 extern volatile int event flag 這樣宣告event flag全域性變數的話,就...

C 學習(9) 配置編譯器 編譯器擴充套件

亞歷克斯於2018年9月19日 最後由alex於2018年9月26日修改 c 標準定義了程式在特定情況下應如何表現的規則。在大多數情況下,編譯器將遵循這些規則。但是,許多編譯器實現了對語言的更改,通常是為了增強與其他語言版本 例如c99 的相容性,或者出於歷史原因。這些特定於編譯器的行為稱為編譯器擴...