欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数据的存储与运算.ppt

    • 资源ID:5985953       资源大小:838KB        全文页数:92页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据的存储与运算.ppt

    ,高级语言及C51程序设计,张苏嘉,第2章 数据的存储与运算,2.1 数据在计算机中是怎样存储的2.2 整型数据的运算与分析2.3 实型数据的运算与分析2.4 字符型数据的运算2.5 符号常量2.6 算术运算符和算术表达式2.7 C运算符和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”表示,导通 截止 导通 截止 导通 截止 导通 截止,1 0 1 0 1 0 1 0,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.123456103float double,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 整型数据运算程序举例和分析,#include void main()int h,f,x,y;h=16;f=40;y=(f-2*h)/2;x=h-y;printf(“%d%dn”,x,y);,P19,定义整型变量h,f,x,y,使h的值等于16,使f的值等于40,计算兔的个数,计算鸡的个数,2.2.1 整型数据运算程序举例和分析,#include void main()int h,f,x,y;h=16;f=40;y=(f-2*h)/2;x=h-y;printf(“%d%dn”,x,y);,P19,输出鸡和兔个数,124,%d,%d,2.2.1 整型数据运算程序举例和分析,#include void main()int h,f,x,y;h=16;f=40;y=(f-2*h)/2;x=h-y;printf(“%d%dn”,x,y);,P19,输出鸡和兔个数,12,4,%d,%d,cock=%d,rabbit=%d,2.2.1 整型数据运算程序举例和分析,#include void main()int h,f,x,y;printf(input head,footn);scanf(%d,%d,P19,输出鸡和兔个数,12,4,cock=%d,rabbit=%d,cock=12,rabbit=4,2.2.1 整型数据运算程序举例和分析,定义变量的一般形式是:类型名 变量名;例如:int h,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,Students,$123,33,3D64,2.2.2 整型常量与整型变量,变量名的取名规则变量名第一个字符必须是字母或下划线,其后字符必须是字母、数字或下划线大小写字母代表不同的字符,一般,程序中的变量名用小写字母表示变量名的长度不是无限的变量名尽量简单易记、见名知意在同一函数中,不同变量不能取相同名,P22,2.2.2 整型常量与整型变量,变量必须“先定义,后使用”根据定义变量时指定的类型,编译系统为变量分配相应的存储单元凡未被事先定义的,系统不把它认作变量名,保证程序中变量名使用得正确指定了每一变量属于一个类型,就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法,P22,变量定义的一般格式:数据类型 变量1,变量2,变量n;,变量初始化:定义时赋初值,例:int a,b,c;float data;,决定分配字节数和数的表示范围,合法标识符,例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;,变量的使用:先定义,后使用,例1 int student;stadent=19;/Undefined symbol stadent in function main,例2 float a,b,c;c=a%b;/Illegal use of floating point in function main,变量定义位置:一般放在函数开头,变量,2.2.2 整型常量与整型变量,整型常量的表示形式除了常用的十进制形式外,还允许使用八进制形式和十六进制形式表示的数整型变量的种类基本整型,类型名为int长整型,类型名为long int短整型,类型名为short int,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#include void main()int d,p;float r,m;d=324500;p=3245;r=0.008;m=(log10(p)-log10(p-d*r)/log10(1+r);printf(“month=%fn”,m);printf(“total=%fn”,m*p);,P24,用到数学函数时,定义整型变量d,p,定义实型变量r,m,赋值,求m的值,2.3.1 实型数据的运算举例,#include#include void main()int d,p;float r,m;d=324500;p=3245;r=0.008;m=(log10(p)-log10(p-d*r)/log10(1+r);printf(“month=%fn”,m);printf(“total=%fn”,m*p);,P24,输出m的值,计算并输出还款数,total=655436.127930,month=201.983404,输出实数时,2.3.1 实型数据的运算举例,#include#include void main()int d=324500,p=3245;double r=0.008,m;m=(log10(p)-log10(p-d*r)/log10(1+r);printf(“month=%fn”,m);printf(“total=%fn”,m*p);,P24,定义变量时赋初值,定义double型无警告错,2.3.2 实型常量的表示形式,实数在计算机语言中常称为浮点数十进制小数形式 如:0.123,123.23,0.0指数形式 如:123e3或123E3,P26,2.3.3 实型变量,实型变量的分类单精度实型变量(float型)双精度实型变量(double型)长双精度实型变量(long double型),P27,2.3.3 实型变量,实型变量的分类实型数据的舍入误差实型变量是由有限的存储单元组成的能提供的有效数字总是有限的在有效位以外的数字将被舍去会产生一些误差,P27,2.3.3 实型变量,实型变量的分类实型数据的舍入误差例2.3 实型数据的舍入误差,P27,#include void main()float a;a=1234.1415926;printf(a=%fn,a);,a=1234.141602,7位有效位,2.3.3 实型变量,实型变量的分类实型数据的舍入误差把实数按双精度数处理把程序中的实常量处理成双精度型,分配8个字节,以提高精度。,P27,a=1234.1415926;,双精度,单精度,编译时有警告,最好:double a;,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,#include void main()char a=C,b=H,c=I,d=N,e=A;printf(“%c%c%c%c%cn”,a,b,c,d,e);printf(“%c%c%c%c%cn”,e,d,c,b,a);,定义字符变量,2.4.1 字符数据运算的简单例子,例2.4 逐个输出英文字母C,H,I,N,A。然后按反序输出,即A,N,I,H,C。,P29,#include void main()char a=C,b=H,c=I,d=N,e=A;printf(“%c%c%c%c%cn”,a,b,c,d,e);printf(“%c%c%c%c%cn”,e,d,c,b,a);,用单引号括起来,输出字符,CHINA ANIHC,2.4.2 字符常量和字符变量,字符常量字符常量是用单引号括起来的一个字符英文字母可以作为字符常量键盘上的字符都可以作为字符常量小写字母和大写字母是不同的字符常量字符常量的值:该字符的ASCII码值,P29,如 a A?n 101,如 A65,a97,048,n10,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 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);,运行结果:(屏幕显示)A B CI say:”How are you?”C ProgramTurbo C,例 main()printf(“Yb=n”);,运行结果:屏幕显示:=打印机输出:,2.4.2 字符常量和字符变量,字符变量用来存放字符常量只能放一个字符字符变量的定义形式:char 字符变量列表;,P29,2.4.2 字符常量和字符变量,字符数据与整型数据在一定条件下通用char c=a;与char c=97;等价,P29,2.4.2 字符常量和字符变量,字符数据与整型数据在一定条件下通用例2.5 将两个整数分别赋给两个字符变量,再将字符数据按字符和整数形式输出。#include void main()char c1=97,c2=98;printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);,P29,char c1=a,c2=b;,a b,97 98,2.4.2 字符常量和字符变量,字符数据与整型数据在一定条件下通用例2.5 将两个整数分别赋给两个字符变量,再将字符数据按字符和整数形式输出。字符a的存储(用ASCII代码存放),P29,按%c输出:a,按%d输出:97,printf(“%c%cn”,97+1,a+1);输出什么?,2.4.2 字符常量和字符变量,字符数据与整型数据在一定条件下通用例2.5 将两个整数分别赋给两个字符变量,再将字符数据按字符和整数形式输出。,P29,b b,printf(“%d%dn”,97+1,a+1);输出什么?,98 98,2.4.2 字符常量和字符变量,字符数据与整型数据在一定条件下通用例2.6 将小写字母转换为大写字母。#include void main()char c1=a,c2=b;c1=c1-32;c2=c2-32;printf(%c,%cn,c1,c2);,P29,a97 A65b98 B66c99 C67规律是?,A,B,2.4.3 字符串常量,字符串常量是一对双撇号括起来的字符序列How do you do.CHINAa都是合法的字符串,P33,2.4.3 字符串常量,字符串常量是一对双撇号括起来的字符序列是字符常量是字符串常量二者的含义是不同的,P33,char c;c=a;,正确,char c;c=”a”;,错误,存放字符a的存储单元,存放字符串”a”的存储单元,结束符,占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeof(类型标识符)测量,实型变量float:占4字节,提供7位有效数字double:占8字节,提供1516位有效数字,字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算,例1:float a;a=111111.111;/*a=111111.1*/例2:double b;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;,#include void main()double r=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=%fns=%fnv=%fn”,c,s,v);,c=23.059290s=42.313797v=155.291633,有错,4.0/3.0,#include void main()double r=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=%fns=%fnv=%fn”,c,s,v);,c=23.059290s=42.313797v=207.055511,pow(r,2),pow(r,3),#include,#include#include void main()double r=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=%fns=%fnv=%fn”,c,s,v);,c=23.059290s=42.313797v=207.055511,#define PI 3.1415926,PI,PI,PI,#include#include void main()double r=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=%fns=%fnv=%fn”,c,s,v);,c=23.059290s=42.313797v=207.055511,#define PI 3.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 强制类型转换。#include void main()float f=3.6;int i;i=(int)f;printf(f=%f,i=%dn,f,i);,f3.600000,i=3,不改变f的值,2.6.2.算术表达式,P39,强制类型转换强制类型转换的一般形式为:(类型名)(表达式)有两种类型转换系统自动进行的类型转换强制类型转换,2.7 C运算符和C表达式,2.7.1 C运算符2.7.2 C表达式,P41,(1)算术运算符(+-*/%)(2)关系运算符(!)(3)逻辑运算符(!|)(4)位运算符(|)(5)赋值运算符(及其扩展赋值运算符)(6)条件运算符(?:),2.7.1 C运算符,P41,(7)逗号运算符(,)(8)指针运算符(*)(9)求字节数运算符(sizeof)(10)强制类型转换运算符((类型))(11)成员运算符(.-)(12)下标运算符()(13)其他(如函数调用运算符(),2.7.1 C运算符,P41,箅术表达式。如2+6.7*3.5+sin(0.5)关系表达式。如x0,y0&y0(表示x0与y0同时成立,&是逻辑运算符,代表“与”)赋值表达式。如a=5.6逗号表达式。如a=3,y=4,z=8 用逗号连接若干个表达式,顺序执行这些表达式,整个逗号表达式的值是最后一个表达式的值(今为8),2.7.2 C表达式,P42,基本算术运算符:+-*/%结合方向:从左向右优先级:-*/%-+-(2)(3)(4)说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据,例 5/2=-5/2.0=,例 5%2=-5%2=1%10=5%1=5.5%2,算术运算符和表达式,2,-2.5,1,-1,1,0,(),2.8 提高部分,2.8.1 求补码的方法2.8.2 整型常量的表示形式2.8.3 整型变量的类型2.8.4 整型常量的类型2.8.5 运算符的优先级与结合性,P42,2.8.1 求补码的方法,计算机不论对正数和负数都按“补码”形式存放到存储单元对于正数来说,补码就是该数的“原码”(该数的二进制形式)负数的补码不是它的原码,P42,求-1的补码的方法是:,原码,诸位取反,反码,反码加1,补码,2.8.1 求补码的方法,P42,求一个负数的补码的方法是:取该数(不考虑数的符号)的二进制形式,它就是原码对该原码逐位“取反”(逐位把0变1,把1变0),得到其“反码”将得到的反码加1,2.8.1 求补码的方法,P42,求-10的补码的方法是?,原码,诸位取反,反码,反码加1,补码,2.8.1 求补码的方法,P42,2.8.2 整型常量的表示形式,在语言中,整常数可用3种形式表示:10进制整数,如123,-4568进制整数,特点是逢8进1。在程序中凡以0开头的数都认作8进制数16进制整数。特点是逢16进1。用09、af分别代替015。在程序中凡以0 x开头的数都认作16进制数,P43,a=83;/*10进制数*/a=0123;/*8进制数*/a=0 x53;/*16进制数*/,可以定义和使用以下6种整型变量:有符号基本整型 signed int无符号基本整型 unsigned int有符号短整型 signed short int无符号短整型 unsigned short int有符号长整型 signed long int无符号长整型 unsigned long int,2.8.3 整型变量的类型,P44,在计算机语言中,常量是有类型的,这也是计算机的特点数据是要存储的,不同类型的数据所分配的字节和存储方式是不同的整型变量有类型,因此整型常量也应该有类型,才能在赋值时匹配根据常量的大小、数后面加的字母l或L、u或U判断其类型,2.8.4 整型常量的类型,P45,先按运算符的优先级别高低次序执行如果优先级别相同,则按规定的“结合方向”处理,2.8.5 运算符的优先级与结合性,P45,本章到此结束,谢谢您的光临!,

    注意事项

    本文(数据的存储与运算.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开