数据的存储与运算1.ppt_第1页
数据的存储与运算1.ppt_第2页
数据的存储与运算1.ppt_第3页
数据的存储与运算1.ppt_第4页
数据的存储与运算1.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

高级语言及C51程序设计 张苏嘉 第2章数据的存储与运算 2 1数据在计算机中是怎样存储的2 2整型数据的运算与分析2 3实型数据的运算与分析2 4字符型数据的运算2 5符号常量2 6算术运算符和算术表达式2 7C运算符和C表达式2 8提高部分 2 1数据在计算机中是怎样存储的 2 1 1数据在计算机中是以二进制形式存储的2 1 2位 字节和地址2 1 3不同类型数据的存储方式 P16 计算机内部的信息都是用二进制表示计算机存储器是用半导体集成电路构成的有两种稳定的工作状态 导 与 截止 即电脉冲的 有 与 无 分别用 1 和 0 表示 2 1 1数据在计算机中是以二进制形式存储的 P16 若相邻的8个二极管元件中第1 3 5 7个元件处于 导通 状态 第2 4 6 8个元件处于 截止 状态 用 10101010 表示 导通截止导通截止导通截止导通截止 10101010 2 1 1数据在计算机中是以二进制形式存储的 P16 2 1 1数据在计算机中是以二进制形式存储的 P16 二进制转换成十六进制 从右向左 每4位一组 不足4位左补0 转换成十六进制十六进制转换成二进制 用4位二进制数代替每一位十六进制数 二进制与十六进制之间的转换 0000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F 2 1 2位 字节和地址 位 bit 又称 比特 每一个二极管元件称为一个 二进制位 是存储信息的最小单位 它的值是 1 或 0 字节 byte 又称 拜特 一般将8个 二进制位 组织成一组 称为 字节 这是人们最常用的存储单位 P17 2 1 2位 字节和地址 地址 计算机的存储器包含许多存储单元 操作系统把所有存储单元以字节为单位编号 P17 2 1 3不同类型数据的存储方式 整数的存储方式一个十进制整数 先转换为二进制形式如整数10 以二进制形式表示是1010 P18 用一字节存放 用两字节存放 负数按补码形式存放 2 1 3不同类型数据的存储方式 实数的存储形式对于实数 一律采用指数形式存储123 456标准化指数形式为0 123456 103floatdouble P18 2 1 3不同类型数据的存储方式 字符的存储方式对于字符 按ASCII代码存放A的ASCII代码是65 1000001 P18 数值的表示方法 原码 反码和补码 原码 最高位为符号位 其余各位为数值本身的绝对值反码 正数 反码与原码相同负数 符号位为1 其余位对原码取反补码 正数 原码 反码 补码相同负数 最高位为1 其余位为原码取反 再对整个数加1 用一字节表示数 负数补码转换成十进制数 最高位不动 其余位取反加1 2 2整型数据的运算与分析 2 2 1整型数据运算程序举例和分析2 2 2整型常量与整型变量 P19 2 2 1整型数据运算程序举例和分析 例2 1鸡兔同笼 在一个茏子里同时养着一些鸡和兔子 你想了解有多少只鸡和多少只兔 主人对你说 我只告诉你鸡和兔的总头数是16和总脚数是40 你能不能自己计算有多少只鸡和多少只兔 P19 2 2 1整型数据运算程序举例和分析 解题思路 设x代表鸡的数量 y代表兔的数量 总头数为h 总脚数为f列出下面的方程式 x y h 1 2x 4y f 2 解方程得到 P19 2 2 1整型数据运算程序举例和分析 includevoidmain inth f x y h 16 f 40 y f 2 h 2 x h y printf d d n x y P19 定义整型变量h f x y 使h的值等于16 使f的值等于40 计算兔的个数 计算鸡的个数 2 2 1整型数据运算程序举例和分析 includevoidmain inth f x y h 16 f 40 y f 2 h 2 x h y printf d d n x y P19 输出鸡和兔个数 124 d d 2 2 1整型数据运算程序举例和分析 includevoidmain inth f x y h 16 f 40 y f 2 h 2 x h y printf d d n x y P19 输出鸡和兔个数 12 4 d d cock d rabbit d 2 2 1整型数据运算程序举例和分析 includevoidmain inth f x y printf inputhead foot n scanf d d P19 输出鸡和兔个数 12 4 cock d rabbit d cock 12 rabbit 4 2 2 1整型数据运算程序举例和分析 定义变量的一般形式是 类型名变量名 例如 inth f x y 变量都必须在使用前定义 指定其类型赋值 h 37 f 88 P19 2 2 2整型常量与整型变量 常量和变量常量是指在程序运行过程中其值不能改变的量变量是指在程序运行过程中其值可以改变的量 P22 2 2 2整型常量与整型变量 常量和变量要注意区别变量名和变量值 P22 16 h 2000 存储单元 变量名 变量地址 变量值 2 2 2整型常量与整型变量 常量和变量要注意区别变量名和变量值 P22 16 h 2000 执行h 37 37 2 2 2整型常量与整型变量 变量名的取名规则变量名第一个字符必须是字母或下划线 其后字符必须是字母 数字或下划线 P22 合法 sum average total Class day month Student name tan li ling不合法 Zhang sun Student s 123 33 3D64 2 2 2整型常量与整型变量 变量名的取名规则变量名第一个字符必须是字母或下划线 其后字符必须是字母 数字或下划线大小写字母代表不同的字符 一般 程序中的变量名用小写字母表示变量名的长度不是无限的变量名尽量简单易记 见名知意在同一函数中 不同变量不能取相同名 P22 2 2 2整型常量与整型变量 变量必须 先定义 后使用 根据定义变量时指定的类型 编译系统为变量分配相应的存储单元凡未被事先定义的 系统不把它认作变量名 保证程序中变量名使用得正确指定了每一变量属于一个类型 就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法 P22 变量定义的一般格式 数据类型变量1 变量2 变量n 变量初始化 定义时赋初值 例 inta b c floatdata 决定分配字节数和数的表示范围 合法标识符 例 inta 2 b c 4 floatdata 3 67 charch A intx 1 y 1 z 1 intx y z 1 变量的使用 先定义 后使用 例1intstudent stadent 19 Undefinedsymbol stadent infunctionmain 例2floata b c c a b Illegaluseoffloatingpointinfunctionmain 变量定义位置 一般放在函数开头 变量 2 2 2整型常量与整型变量 整型常量的表示形式除了常用的十进制形式外 还允许使用八进制形式和十六进制形式表示的数整型变量的种类基本整型 类型名为int长整型 类型名为longint短整型 类型名为shortint P22 2 3实型数据的运算与分析 2 3 1实型数据的运算举例2 3 2实型常量的表示形式2 3 3实型变量 P24 2 3 1实型数据的运算举例 例2 2分期付款的计算 张先生为购房 向银行贷款 贷款额为D元 每月准备还P元 月利率为R 求需要多少个月才能还清 P24 m是还清贷款所需月数d 324500 p 3245 r 0 8 2 3 1实型数据的运算举例 1 d和p是整数 r是一个小数 因此程序中要分别定义整型变量和实型变量 2 公式中用到对数log 这个对数是以10为底的 对数log的函数log10 在math h库内 P24 2 3 1实型数据的运算举例 include includevoidmain intd p floatr m d 324500 p 3245 r 0 008 m log10 p log10 p d r log10 1 r printf month f n m printf total f n m p P24 用到数学函数时 定义整型变量d p 定义实型变量r m 赋值 求m的值 2 3 1实型数据的运算举例 include includevoidmain intd p floatr m d 324500 p 3245 r 0 008 m log10 p log10 p d r log10 1 r printf month f n m printf total f n m p P24 输出m的值 计算并输出还款数 total 655436 127930 month 201 983404 输出实数时 2 3 1实型数据的运算举例 include includevoidmain intd 324500 p 3245 doubler 0 008 m m log10 p log10 p d r log10 1 r printf month f n m printf total f n m p P24 定义变量时赋初值 定义double型无警告错 2 3 2实型常量的表示形式 实数在计算机语言中常称为浮点数十进制小数形式如 0 123 123 23 0 0指数形式如 123e3或123E3 P26 2 3 3实型变量 实型变量的分类单精度实型变量 float型 双精度实型变量 double型 长双精度实型变量 longdouble型 P27 2 3 3实型变量 实型变量的分类实型数据的舍入误差实型变量是由有限的存储单元组成的能提供的有效数字总是有限的在有效位以外的数字将被舍去会产生一些误差 P27 2 3 3实型变量 实型变量的分类实型数据的舍入误差例2 3实型数据的舍入误差 P27 includevoidmain floata a 1234 1415926 printf a f n a a 1234 141602 7位有效位 2 3 3实型变量 实型变量的分类实型数据的舍入误差把实数按双精度数处理把程序中的实常量处理成双精度型 分配8个字节 以提高精度 P27 a 1234 1415926 双精度 单精度 编译时有警告 最好 doublea 2 4字符型数据的运算 2 4 1字符数据运算的简单例子2 4 2字符常量和字符变量2 4 3字符串常量 P29 2 4 1字符数据运算的简单例子 例2 4逐个输出英文字母C H I N A 然后按反序输出 即A N I H C P29 includevoidmain chara C b H c I d N e A printf c c c c c n a b c d e printf c c c c c n e d c b a 定义字符变量 2 4 1字符数据运算的简单例子 例2 4逐个输出英文字母C H I N A 然后按反序输出 即A N I H C P29 includevoidmain chara C b H c I d N e A printf c c c c c n a b c d e printf c c c c c n e d c b a 用单引号括起来 输出字符 CHINAANIHC 2 4 2字符常量和字符变量 字符常量字符常量是用单引号括起来的一个字符英文字母可以作为字符常量键盘上的字符都可以作为字符常量小写字母和大写字母是不同的字符常量字符常量的值 该字符的ASCII码值 P29 如 a A n 101 如 A 65 a 97 0 48 n 10 2 4 2字符常量和字符变量 转义字符转义字符必须以反斜杠 开头 后只能有一个字符 或代表字符的8进制或16进制数 P29 泉州信息职业技术学院 47 如 101 A 012 n 376 x61 a 60 0 483 例 A 101 x41 65 转义字符 反斜线后面跟一个字符或一个代码值表示 例转义字符举例 ch2 001 c ch2 004 c main printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Turbo C 运行结果 屏幕显示 ABCIsay Howareyou CProgram Turbo C 例main printf Y b n 运行结果 屏幕显示 打印机输出 2 4 2字符常量和字符变量 字符变量用来存放字符常量只能放一个字符 字符变量的定义形式 char字符变量列表 P29 2 4 2字符常量和字符变量 字符数据与整型数据在一定条件下通用charc a 与charc 97 等价 P29 2 4 2字符常量和字符变量 字符数据与整型数据在一定条件下通用例2 5将两个整数分别赋给两个字符变量 再将字符数据按字符和整数形式输出 includevoidmain charc1 97 c2 98 printf c c n c1 c2 printf d d n c1 c2 P29 charc1 a c2 b ab 9798 2 4 2字符常量和字符变量 字符数据与整型数据在一定条件下通用例2 5将两个整数分别赋给两个字符变量 再将字符数据按字符和整数形式输出 字符a的存储 用ASCII代码存放 P29 按 c输出 a 按 d输出 97 printf c c n 97 1 a 1 输出什么 2 4 2字符常量和字符变量 字符数据与整型数据在一定条件下通用例2 5将两个整数分别赋给两个字符变量 再将字符数据按字符和整数形式输出 P29 bb printf d d n 97 1 a 1 输出什么 9898 2 4 2字符常量和字符变量 字符数据与整型数据在一定条件下通用例2 6将小写字母转换为大写字母 includevoidmain charc1 a c2 b c1 c1 32 c2 c2 32 printf c c n c1 c2 P29 a 97A 65b 98B 66c 99C 67 规律是 A B 2 4 3字符串常量 字符串常量是一对双撇号括起来的字符序列 Howdoyoudo CHINA a 都是合法的字符串 P33 2 4 3字符串常量 字符串常量是一对双撇号括起来的字符序列 是字符常量 是字符串常量二者的含义是不同的 P33 charc c a 正确 charc c a 错误 存放字符 a 的存储单元 存放字符串 a 的存储单元 结束符 占字节数随机器不同而不同 一般占一个机器字short int long可用sizeof 类型标识符 测量 实型变量float 占4字节 提供7位有效数字double 占8字节 提供15 16位有效数字 字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算 例1 floata a 111111 111 a 111111 1 例2 doubleb b 111111 111 b 111111 111 例a D a 68 x A 5 x 65 5 s G s 33 71 没有字符串变量 用字符数组存放 整型变量 2 5符号常量 2 5 1符号常量的作用2 5 2符号常量的性质和使用方法 P34 2 5 1符号常量的作用 例2 7求以r为半径的圆周长c和圆面积s 再求以r为半径的圆球体积v P35 c 2 3 1415926 r s 3 1415926 r r v 4 3 3 1415926 r r r includevoidmain doubler 3 67 c s v c 2 3 1415926 r s 3 1415926 r r v 4 3 3 1415926 r r r printf c f ns f nv f n c s v c 23 059290s 42 313797v 155 291633 有错 4 0 3 0 includevoidmain doubler 3 67 c s v c 2 3 1415926 r s 3 1415926 r r v 4 0 3 0 3 1415926 r r r printf c f ns f nv f n c s v c 23 059290s 42 313797v 207 055511 pow r 2 pow r 3 include include includevoidmain doubler 3 67 c s v c 2 3 1415926 r s 3 1415926 pow r 2 v 4 0 3 0 3 1415926 pow r 3 printf c f ns f nv f n c s v c 23 059290s 42 313797v 207 055511 definePI3 1415926 PI PI PI include includevoidmain doubler 3 67 c s v c 2 PI r s PI pow r 2 v 4 0 3 0 PI pow r 3 printf c f ns f nv f n c s v c 23 059290s 42 313797v 207 055511 definePI3 1415926 符号常量 2 5 2符号常量的性质和使用方法 define不是C语句 行末没有分号 define是一个 预编译命令 符号常量一般用大写 以示与变量区别好处 含义清楚在需要改变一个常量时能做到 一改全改 用符号常量能保护所代表的数据不被破坏 P36 2 6算术运算符和算术表达式 2 6 1算术运算符2 6 2算术表达式 P38 2 6 1算术运算符 P38 1 基本的算术运算符 加法运算符 减法运算符 乘法运算符 除法运算符 求余运算符 要求两侧均为整数 如19 4 结果为3 2 6 1算术运算符 P38 两个整数相除的结果为整数如5 3的结果值为 舍去小数部分如果除数或被除数中有一个为负值 舍入方向不固定 例如 5 3 有的系统中得到的结果为 1 在有的系统中则得到结果为 2VC 采取 向零取整 的方法如5 3 1 5 3 1 取整后向零靠拢 2 6 1算术运算符 P38 如果参加 运算的两个数中有一个数为float或double型 则结果都是double型 因为系统将所有float型数据都先转换为double型 然后进行运算 这是为了提高运算精度 2 6 1算术运算符 P38 2 自增 自减运算符 作用是使变量的值增 或减 i i 在使用i之前 先使i的值加 减 1i i 在使用i之后 使i的值加 减 1 2 6 2 算术表达式 P39 用算术运算符和括号将运算对象 也称操作数 连接起来的 符合 语法规则的式子 称为 算术表达式运算对象包括常量 变量 函数等 2 6 2 算术表达式 P39 各类数值型数据间的混合运算char和short型转换为int型float型一律转换为double型整型 包括int short long 数据与double型数据进行运算 先将整型转换为double型 2 6 2 算术表达式 P39 各类数值型数据间的混合运算10 a i f d e 先将 a 转换成整数97 运算结果为107 i为整型f为float型d为double型e为long型 2 6 2 算术表达式 P39 各类数值型数据间的混合运算10 a i f d e 107 先将i与f转成double型 运算结果为double型 i为整型f为float型d为double型e为long型 2 6 2 算术表达式 P39 各类数值型数据间的混合运算10 a i f d e 107 double型 先将107转换成双精度型 结果为double型 i为整型f为float型d为double型e为long型 2 6 2 算术表达式 P39 各类数值型数据间的混合运算10 a i f d e 107 double型 double型 转换为double型 double型 最终结果为double型 i为整型f为float型d为double型e为long型 2 6 2 算术表达式 P39 强制类型转换在表达式中也可以利用 强制类型转换 运算符将数据转换成所需的类型 double a 将 转换成double类型 int x y 将x y的值转换成int型 float 5 3 将5 3的值转换成float型 2 6 2 算术表达式 P39 强制类型转换强制类型转换的一般形式为 类型名 表达式 例2 8强制类型转换 includevoidmain floatf 3 6 inti i int f printf f f i d n f i f 3 600000 i 3 不改变f的值 2 6 2 算术表达式 P39 强制类型转换强制类型转换的一般形式为 类型名 表达式 有两种类型转换系统自动进行的类型转换强制类型转换 2 7C运算符和C表达式 2 7 1C运算符2 7 2C表达式 P41 1 算术运算符 2 关系运算符 3 逻辑运算符 4 位运算符 5 赋值运算符 及其扩展赋值运算符 6 条件运算符 2 7 1C运算符 P41 7 逗号运算符 8 指针运算符 9 求字节数运算符 sizeof 10 强制类型转换运算符 类型 11 成员运算符 12 下标运算符 13 其他 如函数调用运算符 2 7 1C运算符 P41 箅术表达式 如2 6 7 3 5 sin 0 5 关系表达式 如x 0 y0 y 0 表示x 0与y 0同时成立 是逻辑运算符 代表 与 赋值表达式 如a 5 6逗号表达式 如a 3 y 4 z 8用逗号连接若干个表达式 顺序执行这些表达式 整个逗号表达式的值是最后一个表达式的值 今为8 2 7 2C表达式 P42 基

温馨提示

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

评论

0/150

提交评论