Chap6回顾数据类型和表达式6.1数据的存储和基本数据类型6.2数据的输入和输出6.3类型转换6.4表达式
Chap 6 回顾 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 数据的输入和输出 6.3 类型转换 6.4 表达式
本章要点C语言的基本数据类型有哪些?各种基本数据类型的常量有哪些表现形式?1C语言有哪些表达式?各种表达式的求解规则是什么?
本章要点 ◼ C语言的基本数据类型有哪些? ◼ 各种基本数据类型的常量有哪些表现形 式? ◼ C语言有哪些表达式?各种表达式的求解 规则是什么?
数据类型和表达式数据类型口基本数据类型■整型int■实型(浮点型)floatdouble■字符型char口构造数据类型数组、结构、联合、枚举口指针类型口空类型运算:对数据的操作运算符十数据→表达式
数据类型和表达式 ◼ 数据类型 基本数据类型 ◼ 整型int ◼ 实型(浮点型)float double ◼ 字符型char 构造数据类型 数组、结构、联合、枚举 指针类型 空类型 ◼ 运算:对数据的操作 运算符+数据 → 表达式
6.1数据的存储和基本数据类型6.1.1数据的存储整型、实型、字符型数据的存储6.1.2基本数据类型整型与整型常量(整数)字符型与字符型常量实型与实型常量(实数)
6.1 数据的存储和基本数据类型 6.1.1 数据的存储 整型、实型、字符型数据的存储 6.1.2 基本数据类型 整型与整型常量(整数) 字符型与字符型常量 实型与实型常量(实数)
6.1.1数据的存储一整型数据设整数在内存中用2个字节存储10000001100000010000000110000001符号位1:负数0:正数
6.1.1 数据的存储-整型数据 设整数在内存中用2个字节存储 1 000 0001 1000 0001 0 000 0001 1000 0001 符号位 1:负数 0:正数
数值的表示方法一原码反码补码正数的原码、反码和补码相同1 的补码000000000000000132767的补码0111111111111111(215-1,2个字节的存储单元能表示的最大正数)负数的原码、反码和补码不同-1原码1000000000000001反码1111111111111110原码取反(符号位保持不变)口补码1111111111111111反码+1口
数值的表示方法-原码 反码 补码 ◼ 正数的原码、反码和补码相同 1 的补码 0 000 0000 0000 0001 . 32767 的补码 0 111 1111 1111 1111 (2 15-1,2个字节的存储单元能表示的最大正数) ◼ 负数的原码、反码和补码不同 -1 原码 1 000 0000 0000 0001 反码 1 111 1111 1111 1110 原码取反(符号位保持不变) 补码 1 111 1111 1111 1111 反码+1
原码反码补码32767补码0111111111111111-32767原码1111111111111111反码1000000000000000原码取反(符号位保持不变)补码1000000000000001反码+132768=-32767-11补码1000000000000000(2个字节的存储单元能表示的最小负数)
原码 反码 补码 32767 ◼ 补码 0 111 1111 1111 1111 -32767 ◼ 原码 1 111 1111 1111 1111 ◼ 反码 1 000 0000 0000 0000 原码取反(符号位保持不变) ◼ 补码 1 000 0000 0000 0001 反码+1 -32768 = -32767-1 ◼ 补码 1 000 0000 0000 0000 (2个字节的存储单元能表示的最小负数)
-32768-1013276732767+1=32768?100000000000000=-327683276701111111 11111111A0000000000000001000000000000000001111 111111111111-1-21111111111111110-327671000000000000001-327681000000000000000-32768-1=-32769?0111111111111111=32767
-32768 -1 0 1 32767 32767 0111 1111 1111 1111 . 1 0000 0000 0000 0001 0 0000 0000 0000 0000 -1 1111 1111 1111 1111 -2 1111 1111 1111 1110 . -32767 1000 0000 0000 0001 -32768 1000 0000 0000 0000 32767 + 1 = 32768 ? 1000 0000 0000 000 = -32768 -32768 - 1 = -32769 ? 0111 1111 1111 1111 = 32767
实型和字符型数据的存储■实型数据的存储-1.2345e+02符号位 阶码尾数■字符型数据的存储一个字节存储ASCI码。例如字符型常量‘A'的ASCII码为65,它在内存中以下列形式存放:01000001
实型和字符型数据的存储 ◼ 实型数据的存储 -1.2345e+02 符号位 阶码 尾数 ◼ 字符型数据的存储 一个字节存储ASCII码。 例如字符型常量 'A' 的ASCII码为65,它在内存 中以下列形式存放: 0 1 0 0 0 0 0 1
6.1.2基本数据类型整型有符号整型无符号整型数据长度int16或32位unsigned [int]16位short [int]unsigned short [int]32位long [int]unsigned long [int]字符型8位char实型(浮点型)32位单精度浮点型 float双精度浮点型double64位
6.1.2 基本数据类型 ◼ 整型 有符号整型 无符号整型 数据长度 int unsigned [int] 16或32位 short [int] unsigned short [int] 16位 long [int] unsigned long [int] 32位 ◼ 字符型 char 8位 ◼ 实型(浮点型) 单精度浮点型 float 32位 双精度浮点型 double 64位