C语言程序设计 第3章数据类型、运算符与表达式 C程序设计(第三版)
C程序设计(第三版) 第3章 数据类型、运算符与表达式 C 语言程序设计
本章要点 数据的描述规则 数据的操作规则 2021/2/24
2021/2/24 本章要点 – 数据的描述规则 – 数据的操作规则
本章主要内容 ●31c的数据类型 ●32常量与变量 ●33整型数据 ●34浮点型数据运行 35字符型数据 3.6变量赋初值 ●37各类数值型教据间的混合运算 38算术运算符和算术表达式 ●39赋值运算符和赋值表达式 3.10逗号运算符和逗号表达式 2021/2/24
2021/2/24 本章主要内容 ⚫ 3.1 C的数据类型 ⚫ 3.2 常量与变量 ⚫ 3.3 整型数据 ⚫ 3.4 浮点型数据运行 ⚫ 3.5 字符型数据 ⚫ 3.6变量赋初值 ⚫ 3.7 各类数值型数据间的混合运算 ⚫ 3.8 算术运算符和算术表达式 ⚫ 3.9 赋值运算符和赋值表达式 ⚫ 3.10 逗号运算符和逗号表达式
补充:计算机中的内存 回忆数据处理的过程 内存(主存 RAM:随机存储器(在程序运行过程中, 构成程序的指令和数据存储在此) RoM:只读存储器(制造机器时放置的 信息,主要是控制各种设备的,如显示 器,硬盘驱动器,键盘等,在PC中, 这些程序叫做Bos) 2021/2/24
2021/2/24 补充:计算机中的内存 ⚫ 回忆数据处理的过程 ⚫ 内存(主存) – RAM:随机存储器(在程序运行过程中, 构成程序的指令和数据存储在此) – ROM:只读存储器(制造机器时放置的 信息,主要是控制各种设备的,如显示 器,硬盘驱动器,键盘等,在PC中, 这些程序叫做BIOS)
内存的容量 可以把计算机的RAM想象成一组排列好的箱子。 每个箱子有两种状态,满的(1),空的(0)。 每个箱子叫做一个位(bit),即二进制数位 ( binary bit)的缩写。 ●为了方便使用,这些位按8个分成一组,称为一 个字节B(Byte)。 为了便于引用特定字节的内容,每个字节由一个 数字标记,第一个字节从0开始,这种标记叫做 地址。 ●1GB=1024MB=220KB=230B 2021/2/24
2021/2/24 内存的容量 ⚫ 可以把计算机的RAM想象成一组排列好的箱子。 ⚫ 每个箱子有两种状态,满的(1),空的(0)。 ⚫ 每个箱子叫做一个位(bit),即二进制数位 (binary bit)的缩写。 ⚫ 为了方便使用,这些位按8个分成一组,称为一 个字节B(Byte)。 ⚫ 为了便于引用特定字节的内容,每个字节由一个 数字标记,第一个字节从0开始,这种标记叫做 地址。 ⚫ 1GB=1024MB=220KB=230B
补充:计算机中正、负数的表示 例如:109=(1101101)2 要区别:+109和-109 方法是:将符号也数码化 即 正的符号+用0表示 负的符号-用1表示 计算机中的数表示方法是: 符号位+二进制数值(以8bt为例) +109→+110110101101101 109 1101101→11101101 2021/2/24
2021/2/24 补充:计算机中正、负数的表示 例如:109 =(1101101)2 要区别:+109 和 -109 方法是:将符号也数码化 即: 正的符号 +用 0 表示 负的符号 -用 1 表示 ∴ 计算机中的数表示方法是: 符号位+二进制数值(以 8bit 为例) +109 → +110 1101 → 0110 1101 -109 → -110 1101 → 1110 1101
问题:计算机计算复东化 例如计算:(-19)+(+22) 10010011+00010110 需要判断符号是否相同 如果相同,结果符号不变,并进行绝对值相加 如果不同,结果取绝对值大的数的符号,并进 行绝对值相减 解决的方法是: 使用反码或补码的表示方法(按前述 表示的编码称为原码),即能将减法律 转换为加法。 2021/2/24
2021/2/24 问题:计算机计算复杂化 例如计算: (-19)+(+22) 1001 0011 + 0001 0110 解决的方法是: 使用反码或补码的表示方法(按前述 表示的编码称为原码),即能将减法一律 转换为加法。 需要判断符号是否相同: • 如果相同,结果符号不变,并进行绝对值相加 • 如果不同,结果取绝对值大的数的符号,并进 行绝对值相减
原码、反码和补码 正数:原码、反码、补鸸相同 符号位为0,数值为对应的二进制数。 +109 [0110110原=[01101101l反=[01101101补 ●负数 原码符号位为1,数值为绝对值的二进制 数。 1091101101原 反码符号位为1,数值为绝对值的二进制 数各位变反。 10900100101反 补码符号位为1,数值为绝对值的二进制 数各位变反加1。-1091001001 2021/2/24
2021/2/24 原码、反码和补码 ⚫正数:原码、反码、补码相同 – 符号位为0,数值为对应的二进制数。 +109 [01101101]原 = [01101101]反 = [01101101]补 ⚫负数: – 原码符号位为1,数值为绝对值的二进制 数。 -109 [11101101]原 – 反码符号位为1,数值为绝对值的二进制 数各位变反。 -109 [10010010]反 – 补码符号位为1,数值为绝对值的二进制 数各位变反加1。-109 [10010011]补
3.1c的数据类型 c语言提是供了以下一些数据类型。 整型int 基本类型字符型 char f单精度实型 实型(浮点型) float 数组类型 双精度实型 double 数据类型构造类型结构类型t 联合类型 union 指针类型枚举类型enum 空类型(无值类型)void 2021/2/24
2021/2/24 3.1 C的数据类型 C语言提供了以下一些数据类型。 数据类型 构造类型 指针类型 空类型(无值类型) void 枚举类型 enum 数组类型 结构类型 struct 联合类型 union 基本类型 整型 int 字符型 char 实型(浮点型) 单精度实型 float 双精度实型 double
32常量与变量 321常量和符号常量 ●在程序运行过程中其值不能被改变的量称为常量 ●常量区分为不同的类型 整型100,125,-100,0 实型314,0.125,-3.789 字符型‘a',"b',"2 字符串a','ab’,‘1232 2021/2/24
2021/2/24 3.2 常量与变量 3.2.1 常量和符号常量 ⚫ 在程序运行过程中,其值不能被改变的量称为常量 ⚫ 常量区分为不同的类型: 整型 100,125,-100,0 实型 3.14 , 0.125,-3.789 字符型 ‘a’, ‘b’,‘2’ 字符串 ‘a’, ‘ab’,‘1232’