c 语言程序设计难吗,什么是c语言程序设计(c语言程序设计难吗)

(1)标识符

标识符是用来表示源程序中自定义对象名称的符号。自定义对象可以是常量、变量、数组、结构、语句标签、函数等。

在C51语言中,标识符可以由字母(a ~ z,a ~ z)、数字(0 ~ 9)和下划线“_”组成,最多支持32个字符。

C51标识符的定义不是随机的,要遵循“简洁”和“看到你知道的就知道你知道的”的原则,需要符合一定的规则:

?标识符的第一个字符必须是字母或下划线,而不是数字。因为某些编译器系统特定的标识符以下划线开头,所以用户在定义标识符时通常不会以下划线开头。

?C51的标识符区分大小写。例如,“ch1”和“Ch1”代表两种不同的标识符。

?用户定义的标识符不能与系统保留的关键字重复。

(2)关键词

关键字是C51编译器保留的一些特殊标识符,有特定的含义和用法。C51编程语言继承了ANSI C标准定义的32个关键字,如表3-1所示。

同时,C51结合单片机硬件的特点扩展了19个关键词:

_at_ idata sfr16外来中断小bdata大_task_ code位pdata使用可重入的xdata compact sbit数据sfr

表3-2列出了Keil uVision2 C51编译器支持的数据类型。

1.字符类型

字符类型的长度为一个字节,通常用于定义处理字符数据的变量或常数。字符类型分为无符号字符和有符号字符,默认值为有符号字符。

无符号char类型使用字节中的所有位表示数值,可以表示的数值范围为0 ~ 255;在有符号的char类型中,最高字节表示数据的符号,“0”表示正数,“1”表示负数(负数用补码表示),可以表示的数值范围为-128 ~ 127。

提示

无符号字符通常用于处理小于或等于255的ASCII字符或整数。

正数的补码和原码一样,负二进制数的补码等于它的绝对值,被比特求反后加1。

2.整数

Int integer的长度为两个字节,用于存储一个双字节数据。可分为无符号整数和无符号整数,默认值为有符号int类型。

有符号int表示的数值范围是-32768 ~ 32767。字节中的最高位表示数据的符号,“0”表示正数,“1”表示负数。无符号int表示0 ~ 65535的数字范围。

3.长整数

长整数长度为四个字节,用于存储一个四字节的数据。有有符号长和无符号长,默认值为有符号长。

有符号int表示的数值范围是-2147483648 ~ 2147483647。字节中的最高位表示数据的符号,“0”表示正数,“1”表示负数。无符号long表示数值范围为0 ~ 4294967295。

4.浮点型

浮点类型在十进制中有7个有效数字,是符合IEEE-754标准的单精度浮点数据,占用4个字段。浮点数结构复杂,很少用单片机,这里就不详细讨论了。

5.*指针类型

指针数据本身是一个变量,其中存储了指向另一个数据的地址。根据处理器的不同,指针数据占用的内存单元不同,其长度在C51中一般为1 ~ 3字节。

6.位标量

位标量是C51编译器的扩展数据类型,可以定义位标量,但不能定义位指针或位数组。它的值是一个二进制位,0或1。

定义格式:位变量名=变量值。

7.特殊功能寄存器

Sfr是扩展数据类型,占用一个存储单元,地址范围为0x80~0xFF。

定义格式为:sfr变量名=变量地址。

它可以访问51单片机中的所有特殊功能寄存器。例如,使用短语“sfr P1=0x90”将P1定义为P1端口的片内寄存器。

8.sfr16 16位特殊功能寄存器

Sfr16是一种扩展数据类型,占用两个内存单元。与sfr一样,sfr16用于操作特殊功能寄存器。不同的是,这种类型的变量可以作为特殊的函数寄存器访问16。

定义格式:sfr16变量名=变量地址。

这里的变量地址是16位的低8位,地址范围是0x80~0xFF。通过sfr16变量读取16位特殊函数寄存器时,先读取低字节,再读取高字节;写特殊功能寄存器时,先写高字节,再写低字节。

9.sbit位可寻址位

Sbit是C51中的扩展数据类型,可以访问灯塔

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值