C语言程序设计_第三章数据类型、运算符、表达式ppt课件

上传人:资****亨 文档编号:130085789 上传时间:2020-04-25 格式:PPT 页数:55 大小:177.50KB
返回 下载 相关 举报
C语言程序设计_第三章数据类型、运算符、表达式ppt课件_第1页
第1页 / 共55页
C语言程序设计_第三章数据类型、运算符、表达式ppt课件_第2页
第2页 / 共55页
C语言程序设计_第三章数据类型、运算符、表达式ppt课件_第3页
第3页 / 共55页
C语言程序设计_第三章数据类型、运算符、表达式ppt课件_第4页
第4页 / 共55页
C语言程序设计_第三章数据类型、运算符、表达式ppt课件_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《C语言程序设计_第三章数据类型、运算符、表达式ppt课件》由会员分享,可在线阅读,更多相关《C语言程序设计_第三章数据类型、运算符、表达式ppt课件(55页珍藏版)》请在金锄头文库上搜索。

1、 高级程序设计语言 吴凡TEL 83202682E mail cdwf 第三章数据类型 运算符与表达式 数据类型 Type 数据类型 是数据结构的表现形式决定了该类型的变量或者常量的取值范围决定了该类型的变量或者常量可以执行哪些操作例 inti i是整数类型的变量 其取值范围为 32768 32767之间的整数 可以执行的操作 加 减 乘 除 求余 算术运算 比大小 关系运算 等 实数无此操作 运算符 Operators 与表达式 Expressions 运算符 定义了对不同数据类型变量或者常量的基本操作 运算 算术运算符 ArithmeticOperators 关系运算符 Relationa

2、lOperators 逻辑运算符 LogicalOperators 赋值运算强制类型转换表达式 Expressions 通过运算符将变量 常量连接起来 产生新值 常量与变量 常量 Constants 是指在程序执行过程中值不发生改变的量 常量也有数据类型常量分为直接常量 字面常量 和符号常量 SymbolicConstants 直接常量 例 50 3 14 A abc 符号常量 例 definePRICE30 符号常量 符号常量 是一种特殊形式的常量 即用一个标识符表示一个常量 定义形式 define常量名 标识符 常量值使用符号常量 含义清楚 在需要改变一个常量时能做到 一改全改 编程风格在

3、程序中不要出现 magicnumbers 例如 x 100 50 78 而符号常量名可以指明每一个常量的含义符号常量名使用大写字母 符号常量举例 例 计算某类食品的价格 要求从键盘读入购买该食品的数目 输出总价格 include definePRICE28Main intnum printf inputnumber scanf d 变量 Variable 程序执行过程中 其值可以改变的量称为变量 它用变量名 标识符 来表示 在内存中占据一定内存单元 变量变量名 一个变量有一个名字变量在内存中占据一定的存储单元 在该存储单元中存放变量的值 变量值变量名是一个符号地址在程序中从变量中取值 实际上是

4、通过变量名找到相应的内存地址 从其存储单元中读取数据 变量名与变量值 例 inta 3 3 a 变量名 变量值 存储单元 变量a 地址 内存 标识符 包含变量名 的命名规则 标识符 identifier 用来标识变量名 符号常量名 函数名 数组名 文件名等的有效字符序列称之为标识符 命名规则只能由字母 a z A Z 数字 0 9 和下划线 三种字符组成例 不合法的标识符bass 9firstone第一个字符只能是字母或下划线一般只有库函数才有以 为首字母标识符用户一般不用 作为标识符的首字母 避免冲突区分字母大小写例如 inta A a和A是两个不同的整型变量 标识符 包含变量名 的命名规则

5、 关键字 Keywords 保留关键字 保留字 在C语言中具有特定含义 专门用作C语言特定成分的一类标识符 例如 intfloatcharifelsewhilefor例 intfor X某些系统有标志符长度限制 建议不超过8字符 内部表示符长度可以为31bytes选择变量名和其他标志符时 应注意做到 见名知义 声明 Declarations 变量声明 Declarations 指定数据类型 列出将要使用的变量格式 数据类型变量名1 变量名2 变量名n 一切变量 都要先声明 后使用 数据类型概述 内容 基本数据类型数据在内存中的存储形式 即类型在计算机内部如何表示的 取值范围限定符 基本数据类型

6、 基本数据类型char 字符型 1个字节长度 可以存放系统本地字符集 characterset 中的一个字符int 整型 其存储空间长度通常反映了机器中整数的自然长度 字长 float 单精度浮点型double 双精度浮点型 char 字符型 char 字符型 长度为一个字节字符在内存单元中存放的是其对应的ASCII码 8bit的0 1二进制序列 例字符 a 在内存中占一个字节 8bits a 类型长度决定了类型的取值范围 char的取值范围 ASCII码取值 0 28 1 0 255 ASCII码 P364 0 48 A 65 a 97 补充1 字长 bit 在计算机中采用二进制 代码只有

7、0 和 1 其中无论是 0 或是 1 在CPU中都是一 位 字长 CPU在单位时间内 同一时间 能一次处理的二进制数的位数叫字长 例 8位CPU 即能一次处理8位数据的CPU 32位的CPU 就能在单位时间内处理字长为32位的二进制数据 字节和字长的区别 由于常用的英文字符用8位二进制就可以表示 所以通常就将8位称为一个字节 字长的长度是不固定的 对于不同的CPU 字长的长度也不一样 8位的CPU一次只能处理一个字节 而32位的CPU一次就能处理4个字节 同理字长为64位的CPU一次可以处理8个字节 补充2 补码 1 3 源码 计算机中采用一组二进制序列来存储数值 其中最高位为符号为 0为正

8、1为负 例 10 源 00001010例 10 源 10001010例 十进制 10 10 10 10 0源码 00001010 10001010 10010100 20X 补充2 补码 2 3 反码 正数的反码 源码负数的反码 除符号位外 源码的其余各位逐位取反例 10 源 10001010 则 10 反 11110101补码 正数的补码 源码 反码负数的补码 反码 1例 10 补 11110110例 10 补 10 补 00000000补 0 10例 9 10 6 10 9 补 6 补 00001001 11111010 00000011 3 10 补充2 补码 3 3 例 5 10 6

9、10 1 5 补 6 补 00000101 11111010 11111111补 1 10补码的设计目的是 使符号位能与有效值部分一起参加运算 从而简化运算规则 所以 在计算机内部数值都被表示成为补码的形式 int 整型 整型数据在内存中以二进制补码来表示int其存储空间长度通常 机器字长通常int长度为32bit 16bit 其中第一个bit表示符号位 0 正 1 负 例 intnum 120 例 intnum 120 如果int长度为16bit 取值范围是 216 1 216 1 1 32768 32767 浮点型 实数型 实数有两种表示形式 十进制数形式 由数字和小数点组成例 123 4

10、 5 0指数形式 字母e之前必须有数字 e之后必须为整数例 123 4e0 123 4 1 234e2 123 4 123 4e 2 1 234规范化的指数形式 C中实数的指数形式的输出 字母e之前的小数部分 小数点左边应有且只有一位 非0 数字例 4 321e 02 4 321e 02 浮点型在内存中的存放形式 以float型为例 按指数形式存储 小数 符号位 小数部分 指数 符号位 指数部分例 12 345在内存中一般占4个字节 32bit C标准未定义具体格式 一般C编译器以24bit表示小数部分 包括符号位 8bit指数部分 包括指数的符号位 小数部分位越多 有效数字越多 数值范围越小

11、float型的有效数字为7位 浮点型 float型 单精度浮点类型 典型长度 32bit 典型有效数字 7位double型 双精度浮点类型 典型长度 64bit 典型有效数字 15 16位例 floatf 1 2345678 f的有效数字只有7位 即1 234567 超出7位的部分直接舍去 8被舍去 f的指数形式的输出为 1 234567e 00 限定符 qualifiers 限定符 即修饰符 用于限定基本数据类型主要用于改变数据类型在内存中的长度 改变类型的取值范围格式 限定符1 限定符2 类型例 shortint例 unsignedshortint3类限定符short和long 限定整型

12、signed和unsigned 限定字符和整型 longdouble 限定浮点型 short和long short和long 用于限定整型 提供不同长度的整数型例 shortintsh longintcounter 通常 int 16 32bit shortint 16bit longint 32bit编译器会跟据机器的硬件特性自主选择整型的长度 基本规则 shortint和int至少为16bitlongint至少为32bitshortint类型的长度 int类型长度 longint类型长度 signed和unsigned signed和unsigned 用于限定char类型和所有整型 包括s

13、hortint类型 int类型 longint类型 unsigned限定的类型的数值总是非负 0 正整数 signed限定的类型的数值有正 有负例 unsignedchar 取值范围0 28 1 255例 signedchar 取值范围 128 127例 unsignedint 取值范围0 216 1 65535 signed和unsigned 注意 signed和unsigned可以限定所有整型例 unsigendintsigndlongint当整数没有限定符时 默认是有符号的 即类型内存结构中有1bit的符号位 例 intnum 长度为16bit 其中1bit符号位 15bit数据 字符型

14、没有限定符时 是否有符号位由编译系统决定 longdouble longdouble 高精度浮点数 类型长度 double 双精度类型 longdouble型 典型长度 128bit 典型有效数字 18 19位 基本数据类型详述 每一种类型 内存中的存放形式分类常量 表示的方法 特殊的常量 变量 类型的声明与定义 取值范围 细节问题 整型数据 整型分类有符号型 signed int 基本整型短整型 signed short int 长整型 signed long int 无符号型 无符号整型 unsignedint 无符号短整型 unsignedshort 无符号长整型 unsignedlon

15、g 在内存中的存放形式 P41 P44 取值范围 P43 整型数据 整型常量基本型 int 常量表示方法 十进制数 例 12 345 0八进制数 以0开头 例 012 045十六进制数 0 x开头 例 0 x12 0 x345长整型 long 常量表示方法 常数后加后缀L l 例 43210L 43210l 0 x10ACA870L 1234L无符号整型常量表示方法 常数后加后缀U u 例 4321U 43210UL 1234U 64302 1234U 整型数据 整型变量分类 P42 定义格式 P44 细节问题 溢出避免溢出 根据估计变量值的范围 定义相应类型的整型变量 实型数据 浮点型 实型

16、变量的分类 P46 单精度 float 例 floatx y 双精度 double 例 doublez 长双精度 longdouble 例 longdoublet 在内存中的存放形式 按指数形式存放取值范围和有效数字长度 P46 取值范围由小数部分和指数部分共同决定内存中 小数域的长度决定的该种类型浮点数的有效位数 例如 float型 小数部分为24bit 小数域的长度为24 1 23bit 223 8388608 有7位有效数字 小数部分 指数部分 实型数据 浮点型 细节问题 舍入误差 P47 一个浮点型数据的有效数字长度有限的 在有效位以外的数据会被省去 这样可能会产生误差例3 4 实型数据 实型常量两种表示方法 十进制数形式和指数形式例 10 0 实数常量 而10 整型常量 例 1 234e4也可以在实常量加后缀F f 实型变量分类 P46 定义格式 P47 字符型数据 字符数据的存储字符在内存单元中存放的是其对应的ASCII码 P374 且一个字符占用一个字节的存储空间 语言中 字符型数据可以视为是一种特殊的整型数据 8bit的整数 字符型数据可以赋值为整数值 ASCII值 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号