C语言数据与常量.ppt_第1页
C语言数据与常量.ppt_第2页
C语言数据与常量.ppt_第3页
C语言数据与常量.ppt_第4页
C语言数据与常量.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 数据类型和运算规则 2 第三章数据类型和运算规则 基本数据类型与特点各种数据类型表示范围常量的表示方法变量说明语句运算符与基本运算规则 本章要点 3 第三章数据类型和运算规则 第一节数据与数据类型第二节常量与常量定义第三节变量与变量说明第四节基本运算第五节运算符的优先级与结合性第六节数据类型转换 4 3 1数据与数据类型 数据程序加工处理的对象及其结果 数据类型按数据的性质 在计算机内部的存储形式 占用的内存单元数量 编码方式 取值范围等 构造特点来对数据进行分类 基本概念 5 例 求三数的平均值main inta b c intave a 10 b 20 c 30 ave a b c 3 printf d d d n a b c printf ave d n ave 6 2 1数据与数据类型 续 C语言的数据类型 基本类型 整型int实型 浮点型 字符型char 单精度float双精度double 指针类型 派生类型 数组结构struct共用体union 空类型 枚举类型 7 3 2常量与常量定义 常量在程序运行过程中 其值不能被改变的量称为常量 变量在程序运行过程中 其值可以被改变的量称为变量 一个变量有一个名字 在内存中占据一定的存储单元 在该存储单元中存放变量的值 变量名是一个符号地址 在对程序编译连接进由系统给每个变量名分配一个内存地址 在程序中从变量中取值 实际上是通过变量名找到相应的内存地址 从其存储单元中读取数据 一 基本概念 8 3 2常量与常量定义 整型常量实例 整型常量的不同表示方法 10进制 100 80 1238进制 010024010016进制 0 x380 x100X100XFF0 xa错误 091 15a 0 x5fg 二 整型常量 常量常量 整形 实型 字符型 字符串常量 符号常量 9 3 2常量与常量定义 实型常量实例 实型常量的不同表示方法 当整数或小数部分为0时 可以省略 但小数点不能省 10进制形式 1 01 12 0 12 00 0指数形式 一般形式为 aEn a为十进制数 n为十进制整数 指数 1e31 8e 3 123e 6等价于 10001 8 10 3 123 10 6指数 1e 3 1E 10等价于 0 1 10 30 1 10 10以下为不合法浮点数 e5 阶码标志e前无数字 5 无阶码标志 5 0 e3 负号位置不对 1 5e 无阶码 三 实型常量 10 3 2常量与常量定义 字符常量 字符型常量 用单引号括起来的单个字符实例 A g 0 2 字符定界符 单引号 字符型数据的存储格式 ASCII码 见书附录 65103354850 如何表示不可显示字符 回车 退格 TAB 如何表示定界符 产生歧异 转义符 将 后面的字符转换为其它含义 三 字符型常量 11 3 2常量与常量定义 转义符常量 字符形式功能使用举例 0字符串结束标志 n换行 ASCII码为10 printf n t横向跳格printf t b退格 r回车 ASCII码为13 f走纸换页 字符 ASCII码为92 表示字符 单引号 表示字符 双引号 表示字符 ddd用8进制表示字符 a 141 A 101 换行符 12 xhh用16进制表示字符 a x61 A x41 换行符 xa 12 3 2常量与常量定义 字符串常量 字符串常量 用双引号括起来的字符序列实例 ThisisCstring a 1个空格 不含空格 串定界符 双引号 字符串长度 字符串中包含的字符数量 串长 17串长 1串长 1串长 0 t Name Address n 串长 15 空串 实例 Cisveryeasy 串长 17 注意 字符串 a 与字符 a 的区别 Hesaid ok n 串长 13 13 3 2常量与常量定义 符号常量符号常量定义形式 define标识符常量用定义的一个标识符来代表一个常量 称为符号常量例 definePI3 14159 宏命令专用定义符号define命令标识符宏替换名 一般采用大写字符 注意 符号常量与变量不同 它的值在程序运行过程中不能改变 也不能重新赋值 14 definePI3 14159 defineR2main floats s PI R R printf s f n s 15 3 3变量与变量的定义 一 变量的数据类型 基本类型 整型int实型 浮点型 字符型char 单精度float双精度double 指针类型 派生类型 数组结构struct共用体union 空类型 枚举类型 16 char型数的内存占用空间 二进制8bit 1Byte 00000000 00000010 11111111 0 20 1 255 00000001 21 2 00000011 21 20 3 3 3变量与变量的定义 字符型 17 Main Inta 35 Printf thenumberis c a 输出结果为 18 1 分类根据占用内存字节数的不同 整型变量又分为 类 1 基本整型 类型关键字为int 2 短整型 类型关键字为short int 3 长整型 类型关键字为long int 4 无符号整型 无符号型又分为无符号基本整型 unsigned int 无符号短整型 unsignedshort 和无符号长整型 unsignedlong 三种 只能用来存储无符号整数 3 3变量与变量的定义 int 19 占用内存字节数与值域下表列出ANSI标准定义的整数类型和有关数据 TurboC的规定与之完全一致 3 3变量与变量的定义 int 20 int型数占用的内存空间为 二进制16bit 2Byte 0000000000000001 0000000000000011 0111111111111111 1 3 int型整数的最大值 int型表示数的范围 32768 32767 1111111111111111 注意 使用中要防止数据溢出 1 int型整数的最小值 1000000000000000 215 1 32767 215 32768 3 3变量与变量的定义 int 21 二进制7位 二进制23位 单精度实型 尾数 阶码 尾数的符号位 阶码的符号位 3 3变量与变量的定义 实型 基本数据类型的数据存储格式和取值范围 类型占用内存单元取值范围数据存储格式float4 32位 3 4 10 38 3 4 10386位有效数字double8 64位 10 308 1030815位有效数字 22 3 3变量与变量说明 变量的说明格式 类型修饰符 类型说明符变量列表 例如 inti charch str longk 1 m 0 x12345678 doublex y 1 变量说明意味着确定了 该变量占用内存单元的数量 数据在内存的表示方式 数据的取值范围 二 变量说明的基本概念 main floats r scanf f 23 3 3变量与变量说明 变量在说明之后 没有固定的初始值 要先赋值 给定一个初始值 后使用 变量赋初值将变量说明与赋初值合一 在说明变量时同时完成 实例charcc a dd n intx 10 y 10 z doubletry 28 5 w 1e10 二 变量赋初值 24 2 4运算符 一 运算符简介 按运算类型分类1 算术运算符2 关系运算符3 逻辑运算符4 位运算符5 赋值与赋值组合运算符6 自增自减运算符7 条件运算8 指针运算9 其它运算符按运算对象的数目分类 单目运算 双目运算 三目运算 目 进行运算时需要的操作数的数量 25 2 4运算符 算术运算 一 算术运算符 运算符 双目运算符 单目运算符 加法运算12正值运算14 减法运算12负值运算14 乘法运算13 除法运算13 求余运算1310 3 1优先级 同级 高 同级 低 例 2 3 4 2 3 4 14结合性 相同优先级运算符进行运算时的次序自左向右 标记为 26 2 4运算符 算术运算实例 1 参加运算的对象都是int型 结果截取为int型10 311 310 0 311 3 01 21 0 210 5 310 5 3 2 求余运算的对象必须是整型9 31 310 310 3 10 3 10 3 3 3 3 333333 3 666667 0 0 5 6 0 0 1 1 1 1 1 注意 运算对象的数据类型对运算结果的影响 a b如何表示数学表达式 c d a b c d 27 2 4运算符 关系运算 二 关系运算符 运算符 双目运算符 大于10 大于等于10 小于10 小于等于10 等于9 不等于9 优先级 同级 高 同级 低 关系运算的结果应该为逻辑型 真 或 假 C语言中没有逻辑型 将逻辑型数值化处理 用整型1表示 真 用整型0表示 假 28 2 4运算符 关系运算实例 实例关系表达式7 5的值是1 5 7的值是0 已知 inta 13 b 2 c 1 a bab ca b ca b c 成立 结果为1不成立 结果为0成立 结果为1不成立 结果为0结果为1与上面等价 结果为1等价于 a b 1 结果为0 如何判断数学中的逻辑关系 0 a 9 0 a 9 等价于 0 a 9 结果恒为1 29 2 4运算符 逻辑运算 三 逻辑运算符 运算符 逻辑与 双目 5 逻辑或 双目 4 逻辑非 单目 14 逻辑运算真值表 逻辑运算关系 30 2 4运算符 逻辑运算 式2 y b y a 1结果 2结果 例 要判断0 x 9是否成立 0 x x 9 如果没有括号 0 x x 9等价 结果结果 实例 比较下列两个逻辑表达式的执行过程式1y b y a 31 2 4运算符 位运算 四 位运算符 运算符 按位右移 双目 11 按位左移 双目 11 按位与 双目 8 按位异或 双目 7 按位或 双目 6 按位反 单目 14 真值表 aba b a b00011011101010111000 32 实例 已知 intx 7 y 10 z 1 设字长为8位x y x z x y y z x y x x x 2 x 2 2 00000111 00001010 0010 1 00000111 00000001 0001 15 00000111 00001010 1111 11 00001010 00000001 1011 13 00000111 00001010 1101 8 00000111 11111000 728 00000111 2 00000010 1 00000111 2 00000001 2 4运算符 位运算 33 说明关于 右移一位 缩小1 2关于 左移一位 扩大2倍关于 因为 x 按位求反 求反运算求负 求补 求反 1所以 求反 求负 1 x x 1 7 8 8 7注意 1 位运算是对二进制的位进行运算2 只能对int型 char型和long型进行位运算 2 4运算符 位运算 34 2 4运算符 自增自减运算 五 自增自减运算符 运算符 单目 自增14 自减14 和 为单目运算 只能作用于变量只能对int char long和指针变量进行运算功能 xx x 1 xx x 1 前缀 x x x 1x x x 1 后缀 35 2 4运算符 自增自减运算 自增 自减 有前缀和后缀之分 前缀形式 先自增 自减 再引用后缀形式 先引用再自增 自减 前缀与后缀的区别 y x x x 1 y x x先加1再赋值y x y x x x 1 x先赋值再加1 36 2 4运算符 自增自减运算实例 实例 1 i i 因为在表达式中没有其它运算 结果一样 2 x 1 y x 结果 x 2 y 2y x x x 1 y x 在做赋值运算之前 x先加1 然后将x赋给y 3 x 1 y x 结果 x 2 y 1y x y x x x 1 先将x赋值给y 然后x再加1 37 2 4运算符 自增自减运算实例 实例 4 main inti 8 printf d n i printf d n i printf d n i printf d n i 38 2 4运算符 赋值与赋值组合运算 六 赋值与复合赋值运算符 运算符 双目 自右向左结合 赋值运算 不是等号 2例 a b ca b c 2 3 凡是表达式可以出现的地方都可以出现赋值号例 x a 1 b 2 赋值表达式加上 即为赋值语句 注意变量赋值语句与变量说明语句的区别变量说明语句中赋初值的变量与其它变量之间用逗号分隔 而赋值语句必须以分号结尾 例 inta 2 b 3 c a 2 b 5 在变量说明中 不允许给多个连续的变量赋初值例 inta b c 4 把变量b和变量c的值取出来相加后送到变量a中 a b c 2 3 39 2 4运算符 赋值与赋值组合运算 六 赋值与复合赋值运算符 运算符 双目 复合赋值运算 e1op e22等于 e1 e1op e2 其中 op为下列10个运算符之一 40 2 4运算符 条件运算 七 条件运算符 运算符 三目 e1 e2 e3功能 如果表达式e1成立 e1值为非0 则执行表达式e2 否则 表达式e1不成立 执行表达式e3 例 max a b a b 求变量a与b的最大值min a b a b 求变量a与b的最小值 41 2 4运算符 指针运算 八 指针运算符 运算符 单目 取变量的地址14 取指针变量 所指向 的内容14注意 运算符 和 位与 运算是同一符号 运算符 和 乘 运算是同一符号 只能从程序的上下文来区分运算符 和运算符 的实际意义 42 2 4运算符 其它运算 九 其它运算符 运算符 取结构 联合的成员15 通过指针取结构 联合的成员15 改变表达式中的优先级关系15 数组下标15 逗号 表达式从左向右顺序计算1 typ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论