数据类型数据类型总表格.pptVIP

  • 99
  • 1
  • 约6.55千字
  • 约 23页
  • 2018-07-25 发布于江苏
  • 举报
数据类型数据类型总表格

关系运算注意: 条件运算符与表达式 一般形式: expr1 ? expr2 : expr3 执行过程 功能:相当于条件语句,但不能取代一般if语句 * 数据类型 数据类型总表 C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 定义类型typedef 字符类型char 枚举类型enum 整 型 实型 单精度型float 双精度型double 数组 结构体struct 共用体union 短整型short 长整型long 整型int 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 基本数据类型 类型 符号 关键字 数的表示范围 所占位数 整型 字符型 实型 有 无 (signed)int 16 -32768~32767 (signed)short 16 -32768~32767 (signed)long 32 -2147483648~2147483647 16 unsigned int 0~65535 32 0~4294967295 unsigned long 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机为例: 不同类型数据间的转换 隐式转换 什么情况下发生 运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式 函数调用转换------实参与形参类型不一致时转换 运算转换规则:不同类型数据运算时先自动转换成同一类型 double float long unsigned int char,short 低 高 说明: 必定的转换 运算对象类型不同时转换 例 char ch; int i; float f; double d; ch/i + f*d - (f+i) int int double double double double double double int int double double double double double double 10+‘a’ +i*f - d/l 例 int i; float f; double d; long l; 显式转换(强制转换) 一般形式:(类型名)(表达式) 例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变 例 main() { float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); } 结果:x=3.600000,i=3 精度损失问题 Ch2_007.c Ch2_008.c 运算符和表达式 C 运 算 符 算术运算符:(+ - * / % ++ --) 关系运算符:( = == = !=) 逻辑运算符:((! ||) 位运算符 :( ~ | ^ ) 赋值运算符:(= 及其扩展) 条件运算符:(?:) 逗号运算符:(,) 指针运算符:(* ) 求字节数 :(sizeof) 强制类型转换:(类型) 分量运算符:(. -) 下标运算符:([]) 其它 :(( ) -) 学习运算符应注意: 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 算术运算符和表达式 基本算术运算符: + - * / % 结合方向:从左向右 优先级: - ----* / % ----- + - (2) (3) (4) 说明: “-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据 例 5/2 = -5/2.0 = 例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2 例 5/2 = 2 -5/2.0 =

文档评论(0)

1亿VIP精品文档

相关文档