第3章数据类型、运算符与表达式 ■数据类型 ■常量与变量 ■整型、浮点型、字符型 变量赋初值 ■不同类型数据间的转换 ■算术远算符和算术表达式 ■赋值运算符和赋值表达式 ■逗号远算符和逗号表达式
第3章 数据类型、运算符与表达式 ◼ 数据类型 ◼ 常量与变量 ◼ 整型、浮点型、字符型 ◼ 变量赋初值 ◼ 不同类型数据间的转换 ◼ 算术运算符和算术表达式 ◼ 赋值运算符和赋值表达式 ◼ 逗号运算符和逗号表达式
31数据类型 短整型 short 整型{整型nt 长整型 long 基本类型 实型单精度型ot 双精度型 double 字符类型char 数据类型决定 数组 C数据类型 1.数据占内存字节数 结构体 struct 构造类型 共用体 union 2.数据取值范围 3.其上可进行的操作 枚举类型enum 指针类型 空类型void 定义类型 typedef
3.1 数据类型 C 数 据 类 型 指针类型 空类型void 定义类型typedef 构造类型 枚举类型enum 数组 结构体struct 共用体union 基本类型 字符类型char 整 型 实型 单精度型float 双精度型double 短整型short 长整型long 整型int 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作
说明:数据类型 ■基本数据类型 所占字节数随机 器硬件不同而不 Q同,上表以IBM 型号 关键字 所 范围 (signed)int 16 32767 有|( signed) short -32768~32767 整 (signed) long 2147483648~2147483647 unsigned int 16 0~65535 无| unsigned short 0~65535 unsigned long 32 0~4294967295 实 有foat 32 3.4e-38~3.4e38 型有 double 64 17e-308~1.7e308 字有char -128~127 开刂 unsigned char 0~255
◼ 基本数据类型 类型符号 关键字 所占位数 数的表示范围 整 型 字 符 型 实 型 有 无 (signed) int 16 -32768~32767 (signed) short 16 -32768~32767 (signed) long 32 -2147483648~2147483647 unsigned int 16 0~65535 unsigned long 32 0~4294967295 unsigned short 16 0~65535 有 float 32 3.4e-38~3.4e38 有 double 64 1.7e-308~1.7e308 有 char 8 -128~127 无 unsigned char 8 0~255 说明:数据类型 所占字节数随机 器硬件不同而不 同,上表以IBM PC机为例
3.2常量与变量 ■标识符( Identifier)p39 口定义:用来标识变量、常量、函数等的字符序列 讨论:判断下列标识符号合法性 sun Sun M.D.John day Date 3days 须 student name #33 lotus 1 2 3 char a>b above $123 toDay
3.2 常量与变量 ◼ 标识符(Idetifier) P39 定义:用来标识变量、常量、函数等的字符序列 组成: • 只能由字母、数字、下划线组成,且第一个字母必须 是字母或下划线 • 大小写敏感 • 不能使用关键字 讨论:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char a>b above $123 _toDay M.D.John 3days #33 char $123 a>b
口长度: Turbo C中最长32个字符 口命名原则 见名知意,采用简洁有含义的英文单词(或缩写) 不宜混淆如I、1与,o与0 标识符命名实例 stu name, sum, total, day, count, sort
长度:Turbo C中最长32个字符 命名原则: • 见名知意,采用简洁有含义的英文单词(或缩写) • 不宜混淆 如I、1与l, o与0 标识符命名实例 stu_name, sum, total, day, count, sort
常量和符号常量(P37) 口在程序运行过程中,其值不能改变的量称为常量( Constant) 口常量可为任意数据类型 口字面常量(直接常量) 整型:12、0、-3 实型:4.6、-1.23 字符型:’a、’d 字符串常量:”Helo"、” Good morning!
◼ 常量和符号常量(P37) 在程序运行过程中,其值不能改变的量称为常量(Constant) 常量可为任意数据类型 字面常量(直接常量) • 整型: 12、0、-3 • 实型: 4.6、-1.23 • 字符型:’a’、’d’ • 字符串常量:”Hello”、”Good Morning!
口符号常量:标识符代表常量 定义格式:# define<常量 符号常量定义举例 说明:符号常量 般使用大写英文 #define pI. 141597 字母表示,以区 别一般用于小写 #define STAR* 字母表示的变量 注意:符号常量不能改变,不能赋值! STAR=+
符号常量:标识符代表常量 • 定义格式: #define 符号常量定义举例 #define PI 3.1415926 #define STAR ‘*’ 说明:符号常量一 般使用大写英文 字母表示,以区 别一般用于小写 字母表示的变量 注意:符号常量不能改变,不能赋值! STAR = ‘#’
口符号常量使用 符号常量的使用能给 程序员带来哪些好处? 例符号常量举例 含义清楚:一改全改 #define price 30 mal nt num, total;运行结果:tota=300 num=10 total=num PRICE printf("total=%d", total)
符号常量使用 例 符号常量举例 #define PRICE 30 main() { int num,total; num=10; total=num*PRICE; printf("total=%d",total); } 运行结果:total=300 符号常量的使用能给 程序员带来哪些好处? 含义清楚;一改全改
■变量( ariab|e) 口其值可以改变的量称为变量 口变量也可以为任意数据类型 口变量定义的一般格式 数据类型变量1[,变量2,…,变量n] 变量定义举例 决定分配字节数 int a bc 和数的表示范围 float data
◼ 变量(Variable) 其值可以改变的量称为变量 变量也可以为任意数据类型 变量定义的一般格式 数据类型 变量1[,变量2,…,变量n]; 决定分配字节数 和数的表示范围 变量定义举例: int a,b,c; float data;
口变量的使用:作强制定义,“先定义,后使用” 例2 float a.b.c s c=a%b; /*Illegal use of floating point in function main*/
变量的使用:作强制定义,“先定义,后使用” 例1 int student; /* 16bit */ stadent=19; /*Undefined symbol ‘stadent’ in function main*/ 例2 float a,b,c; c=a%b; /*Illegal use of floating point in function main*/