c语言系统关键字6,第6章C语言的标识符关键字和数据类型.doc

第6章C语言的标识符关键字和数据类型

第6章 C语言的标识符、关键字和数据类型

6.1 标识符和关键字

标识符是用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、常量、数组等。一个标识符由字符串、数字和下划线等组成,第一个字符必须是字母或下划线,通常以下划线开头的标识符是编译系统专用的,因此在编写C语言源程序时一般不要使用以下划线开头的标识符,而将下划线用作分段符。C51编译器规定标识符最长可达255个字符,但只有前面32个字符在编译时有效,因此在编写源程序时标识符的长度不要超过32个字符,这对于一般应用程序来说已经足够了。C语言是大小写敏感的一种高级语言,如果我们要定义一个时间“秒”标识符,可以写做“sec”,如果程序中有“SEC”,那么这两个是完全不同定义的标识符。

关键字则是编程语言保留的特殊标识符,有时又称为保留字,它们具有固定名称和含义,在C语言的程序编写中不允许标识符与关键字相同。与其他计算机语言相比,C语言的关键字较少,ANSI C标准一共规定了32个关键字,见表6-1。

关键字

用途

说明

auto

存储种类说明

用以说明局部变量,缺省值为此

break

程序语句

退出最内层循环体

case

程序语句

switch语句中的选择项

char

数据类型说明

单字节整型数或字符型数据

const

存储类型说明

在程序执行过程中不可更改的常量值

continue

程序语句

转向下一次循环

default

程序语句

switch语句中的失败选择项

do

程序语句

构成do…while循环结构

double

数据类型说明

双精度浮点数

else

程序语句

构成if…else选择结构

enum

数据类型说明

枚举

extern

存储种类说明

在其他程序模块中说明了的全局变量

float

数据类型说明

单精度浮点数

for

程序语句

构成for循环结构

goto

程序语句

构成goto转移结构

if

程序语句

构成if…else选择结构

int

数据类型说明

基本整型数

long

数据类型说明

长整型数

register

存储种类说明

使用CPU内部寄存的变量

return

程序语句

函数返回

short

数据类型说明

短整型数

signed

数据类型说明

有符号数,二进制数据的最高位为符号位

sizeof

运算符

计算表达式或数据类型的字节数

static

存储种类说明

静态变量

struct

数据类型说明

结构类型数据

switch

程序语句

构成switch选择结构

typedef

数据类型说明

重新进行数据类型定义

union

数据类型说明

联合类型数据

unsigned

数据类型说明

无符号数据

void

数据类型说明

无类型数据

volatile

数据类型说明

该变量在程序执行中可被隐含地改变

while

程序语句

构成while和do…while循环结构

表6-1 ANSI C标准一共规定了32个关键字

Keil C51编译器的关键字除了有ANSI C标准的32个关键字外还根据51单片机的特点扩展了相关的关键字。在Keil C51开发环境的文本编辑器中编写C程序,系统可以把保留字以不同颜色显示,缺省颜色为蓝色。表6-2为Keil C51编译器扩展的关键字。

关键字

用途

说明

bit

位标量声明

声明一个位标量或位类型的函数

sbit

位变量声明

声明一个可位寻址变量

sfr

特殊功能寄存器声明

声明一个特殊功能寄存器(8位)

sfr16

特殊功能寄存器声明

声明一个16位的特殊功能寄存器

data

存储器类型说明

直接寻址的8051内部数据存储器

bdata

存储器类型说明

可位寻址的8051内部数据存储器

idata

存储器类型说明

间接寻址的8051内部数据存储器

pdata

存储器类型说明

“分页”寻址的8051外部数据存储器

xdata

存储器类型说明

8051外部数据存储器

code

存储器类型说明

8051程序存储器

interrupt

中断函数声明

定义一个中断函数

reetrant

再入函数声明

定义一个再入函数

using

寄存器组定义

定义8051的工作寄存器组

表6-2 Keil C51编译器扩展的关键字

6.2 在51 MCU DEMO试验板上实现:使右侧4个LED数码管从左至右显示“1234”

6.2.1 实现方法

第1步:向P0口送“4”的字形码,向P2口送数0xfe以点亮个位数码管,延时2mS维持数码管点亮状态;第2步:向P0口送“3”的字形码,向P2口送数0xfd以点亮十位数码管,延时2mS维持数码管点亮状态;第3步:向P0口送“2”的字形码,向P2口送数0xfb以点亮百位数码管,延时2mS维持数码管点亮状态;第4步:向P0口送“1”的字形码,向P2口送数0xf7以点亮千位数码管

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值