C常量 。字面(Literal)常量 ●#define MY A1:定义了字面常量MYA 。表达式中隐含定义常量:c=a+1; 。const类型 ●修饰某个变量具有常量属性,不可修改:const int a=l234; 。const在C中功能受限,不如在C++中有用 年口y年之年生老AG 11/43
C 常量 字面 (Literal) 常量 #define MY_A 1:定义了字面常量 MY_A 表达式中隐含定义常量:c=a+1; const类型 修饰某个变量具有常量属性,不可修改:const int a=1234; const 在 C 中功能受限,不如在 C++ 中有用 11 / 43
内容 数据类型的概念 2 C数据类型 SC常量/变量声明的语法 :口140·之,1=,2aG 12/43
内容 1 数据类型的概念 2 C 数据类型 3 C 常量/变量声明的语法 12 / 43
C所支持的数据类型 ·基本类型 。char:字符型,单字节 ·it:整形,一般2~8字节,是否提供64位整型由实现决 定 。f1oat:浮点型,一般4字节 ·double:双精度浮点,一般8字节 ·long double:扩展精度 ●B00l:布尔类型,单字节 ·enum:枚举类型 ·组合类型指针、数组、结构、联合 13/43
C 所支持的数据类型 基本类型 char:字符型,单字节 int:整形,一般 2 ∼ 8 字节,是否提供 64 位整型由实现决 定 float:浮点型,一般 4 字节 double:双精度浮点,一般 8 字节 long double:扩展精度 _Bool:布尔类型,单字节 enum:枚举类型 组合类型:指针、数组、结构、联合 13 / 43
数据类型的修饰符 o signed/unsigned ·表示有符号数和无符号数 。可修饰char或任何整型数 o short/long o修饰int ●short int:16位,两字节 ●long int:不短于int ●long long int:不短于64位(C99) 。修饰int时可组合使用上述二者 年口卡年艺年生之)AG 14/43
数据类型的修饰符 signed/unsigned 表示有符号数和无符号数 可修饰 char 或任何整型数 short/long 修饰 int short int:16 位,两字节 long int:不短于 int long long int:不短于 64 位 (C99) 修饰 int 时可组合使用上述二者 14 / 43
有符号数/无符号数 ·计算机中的数多以补码表示 ·对于有符号整型数,其最高位为符号位,0表示正 数,1表示负数,比如在8位单片机中,010= 000000002,12710=011111112,-12810 100000002,-110=111111112 ·对于32位系统,有符号整型数最大为0x7 FFFFFFF,最小 为0x80000000,分别为231-1和-231 ● 无符号数最大为全1型数,32位下为0 xFFFFFFFF,即 232-1 进一步请参考《深入理解计算机系统》或计算机组成原理! 15/43
有符号数/无符号数 计算机中的数多以补码表示 对 于 有 符 号 整 型 数 , 其 最 高 位 为 符 号 位 ,0 表 示 正 数 ,1 表 示 负 数 , 比 如 在 8 位 单 片 机 中 ,010 = 000000002,12710 = 011111112,−12810 = 100000002,−110 = 111111112 对于 32 位系统,有符号整型数最大为 0x7FFFFFFF,最小 为 0x80000000,分别为 2 31 − 1 和 −2 31 无符号数最大为全 1 型数,32 位下为 0xFFFFFFFF,即 2 32 − 1 进一步请参考《深入理解计算机系统》或计算机组成原理! 15 / 43