表C51不同存储类型的数据大小 存储长度长度 值域,范围 类型(位)(字节) da ata 10~2558bt即gooH~OFH) bdata idata 8188 10~2558bt即oOH-OFH) pdata O~255(8bt即OOH~OFFH) xdata 16 20-65535(16bit EP0000H-OFFFFH) code16 20-65535(16bit Ep0000H-OFFFFH)
表 C51不同存储类型的数据大小 存储 类型 长度 (位) 长度 (字节) 值域,范围 data 8 1 O~255(8bit即OOH~0FFH) bdata 1 idata 8 1 O~255(8bit即OOH~0FFH) pdata 8 1 O~255(8bit 即OOH~0FFH) xdata 16 2 O~65535 (16bit 即0000H~0FFFFH) code 16 2 0~65535 (16bit即0000H~0FFFFH)
C51中定变量除了定义数据类型外,还应 定义存信类型 例: int data x,y;表示变量x,y为16位整数并指 定存储在片内数据存储区 1.若未定乂存储类型,则C51编译器自动选择默 认存储类型如下表: 存储模式 默认的存储类型 SMALL 默认的存储类型为data,最大为128字节 COMPACT默认的存储类型为pdaa,每页256字节 LARGE 默认的存储类型为 xdata,最大为64K
C51中定义变量除了定义数据类型外,还应 定义存储类型 例:int data x , y ; 表示变量x , y 为16位整数并指 定存储在片内数据存储区。 1.若未定义存储类型,则C51编译器自动选择默 认存储类型如下表: 存储模式 默认的存储类型 SMALL 默认的存储类型为data,最大为128字节 COMPACT 默认的存储类型为pdata,每页256字节 LARGE 默认的存储类型为xdata,最大为64K
2.选择变量类型时应尽量选用无符号型,可 以减少测试符号的额外操作,可以提高代码效 率 3.为使编程时书写简化,数据类型允许用缩 写 FF ] #define uchar unsigned char #define ulong unsigned long 返回本章首页
2.选择变量类型时应尽量选用无符号型,可 以减少测试符号的额外操作,可以提高代码效 率。 3.为使编程时书写简化,数据类型允许用缩 写。 例: #define uchar unsigned char #define ulong unsigned long 返回本章首页
第四节运算符和表达式 算术运算符及其表达式 1.C语言的基本算术运算符 算术运算符有+、-、*、/、%(%为模运算符, 或称求余运算符) 用算术运算符或圆括号将运算对象包括常量 变量、函数、数组等连接起来,形成符合C语 法规则的式子称为算术表达式 如:a*(b-c)+2.3+2a
第四节 运算符和表达式 一、算术运算符及其表达式 1.C语言的基本算术运算符 算术运算符有+、-、*、/、%(%为模运算符, 或称求余运算符)。 用算术运算符或圆括号将运算对象包括常量、 变量、函数、数组等连接起来,形成符合C 语 法规则的式子称为算术表达式。 如:a*(b-c)+2.3+’a’
2.算术运算符的优先级 先乘除模,后加减,括号最优先 3.算术运算符的结合性 自左至右”,即运算对象两侧的算术运算符优 先级相同时,先与左边运算符结合 4.数据类型不同时的转换 如果运算符两侧的数据类型不同,则必须转换成 同一类型,再进行运算。转换方式有自动转换(默 认)和强制转换。强制转换的形式为: 类型名)表达式); 例:( double)x;(将x强制转换成 double型) 注:强制转换只转换表达式的值,变量类型不变
2.算术运算符的优先级 先乘除模,后加减,括号最优先。 3.算术运算符的结合性 “自左至右” ,即运算对象两侧的算术运算符优 先级相同时,先与左边运算符结合。 4.数据类型不同时的转换 如果运算符两侧的数据类型不同,则必须转换成 同一类型,再进行运算。转换方式有自动转换(默 认)和强制转换。强制转换的形式为: 类型名) 表达式); 例:(double) x; (将x强制转换成double型) 注:强制转换只转换表达式的值,变量类型不变