数据的存储与运算.ppt

上传人:xin****828 文档编号:3709110 上传时间:2019-12-22 格式:PPT 页数:92 大小:1.15MB
返回 下载 相关 举报
数据的存储与运算.ppt_第1页
第1页 / 共92页
数据的存储与运算.ppt_第2页
第2页 / 共92页
数据的存储与运算.ppt_第3页
第3页 / 共92页
点击查看更多>>
资源描述
高级语言及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 十进制数 二进制数 0 0 1 1 2 10 3 11 4 100 5 101 十进制数 二进制数 6 110 7 111 8 1000 9 1001 10 1010 0123 202120211010 二进制转换成十六进制: 从右向左,每4位一组(不 足4位左补0),转换成十六进制 十六进制转换成二进制: 用4位二进制数代替每一位十 六进制数 二进制与十六进制之间的转换 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F 2.1.2 位、字节和地址 位(bit) ,又称“比 ” 每一个二极管元 件称 一个“二进制位”,是存储信息的 位 的 是“1” “0” 字节(byte) ,又称“ ” 一 8个 “二进制位”组 成一组,称 “字节” 是 常用的存储 位 P17 2001 2002 2003 2004 2005 2006 2.1.2 位、字节和地址 地址 计算机的存储器 存储 元, 作 有存储 元以字节 位 号 P17 3 4 5 7 8 9 2.1.3 不同类型数据的存储方 式 整数的存储方式 一个十进制整数, 转换 二进制形式 整数10,以二进制形式表示是1010 P18 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 用一字节存 用两字节存 数 补 形式存 2.1.3 不同类型数据的存储方 式 实数的存储形式 于实数,一用数形式存储 123.456数形式 0.123456103 float double P18 + .12345 + 3 数符 数 部分 数符号 数 2.1.3 不同类型数据的存储方 式 字符的存储方式 于字符, ASCII代 存 A的ASCII代 是65(1000001) P18 0 1 0 0 0 0 0 1 数 的表示方currency1“ 、 和补 “ : 高位 符号位,fi位 数 fl 的 : 数: 与“ 相同 数:符号位 1,位“ 补 : 数:“ 、 、补 相同 数: 高位 1,位 “ ,整个数 1 (用一字节表示数) 数补 转换成十进制数: 高位不,位 1 “ 补 +7 00000111 00000111 00000111 -7 10000111 11111000 11111001 +0 00000000 00000000 00000000 -0 10000000 11111111 00000000 数的 01111111 11111111 (-127+127) 01111111 10000000 (-127+127) 01111111 10000000 (-128+127) 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 2hfy yhx 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,%dcock=%d, rabbit=%d 2.2.1 整型数据运算程序举例和分 析 #include void main() int h,f,x,y; printf(input head,footn); scanf(%d,%d, y=(f-2* h)/2; x=h-y; printf(“cock=%d,rabbit=%dn”,x,y); 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 currency1:sum,average, _total, Class, day, month, Student_name,tan,li_ling 不currency1:Zhang-sun,Students, , $123, 33,3D64 2.2.2 整型常量与整型变量 量 的 量 第一个字符是字 , 字符是字 、数字 字 代表不同的字符,一 ,” 中的量 用 字 表示 量 的 度不是无限的 量 尽量简 易记、见 知 在同一函数中,不同量不 相同 P22 2.2.2 整型常量与整型变量 量“ 定, 用” 根据定量定的类型, 译 量分配相应的存储 元 凡未被事 定的, 不 认作量 ,保证”中量 用确 定每一量属于一个类型,就便于在 译据此检查在”中 求该量进 的运算是否currency1 P22 编译程序根据变量定义为其 分配指定字节的内存单元 . 地址 int a=1, b=-3,c; a b c 2字节 2字节 2字节 地址 地址 . 内存 1 -3 随机数 量定的一 格式: 数据类型 量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 量定位置:一 在函数开 main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data); 变量定义 可执行语句 main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data); 量 2.2.2 整型常量与整型变量 整型常量的表示形式 除常用的十进制形式外,还允 用八进 制形式和十六进制形式表示的数 整型量的种类 基fl整型,类型 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 )1log( )log()log( r rdppm 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 转义字符及其含义: 转字符 n v r a ddd t b f “ xhh 转字符 换 垂直制表 回车 响铃 引号 3位8进制数代表的字符 水平制表 退格 换页 斜 双引号 2位16进制数代表的字符 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 C I say:”How are you?” C Program Turbo 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 0 1 1 0 0 0 0 1 %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 A65 b98 B66 c99 C67 是 A,B 2.4.3 字符串常量 字符串常量是一双 号括起来的字符 ” How do you do. CHINA a 都是currency1的字符串 P33 2.4.3 字符串常量 字符串常量是一双 号括起来的字符 ” 是字符常量 是字符串常量 二 的 是不同的 P33 char c; c=a; 确 char c; c=”a”; 错误 存 字符 a的存储 元 存 字符串”a”的存储 元 a 0 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 符号常量的 和 用方currency1 P34 2.5.1 符号常量的作用 2.7求以r 半 的 c和 s,求以r 半 的 体 v P35 rc 2 2rs 3 3 4 rv 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.059290 s=42.313797 v=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.059290 s=42.313797 v=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.059290 s=42.313797 v=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.059290 s=42.313797 v=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.基fl的算术运算符: + : currency1运算符 - :currency1运算符 * :currency1运算符 / :除currency1运算符 % :求运算符( 求两 整数 19%4,结果 3 ) 2.6.1 算术运算符 P38 两个整数相除的结果 整数 5/3的结果 ,舍去 数部分 果除数 被除数中有一个 ,舍入方 向不定 ,-5/3,有的 中 的结果 -1,在有的 中 结果 -2 VC+“向currency1整”的方currency1 5/3=1,-5/3=-1,整向currency1 “ 2.6.1 算术运算符 P38 果 +、-、*、/ 运算的两个数中 有一个数 float double型, 结果 都是double型,因 有float 型数据都 转换 double型,然进 运算 是 提高运算精度 2.6.1 算术运算符 P38 2. 、 运算符: 作用是 量的 +i,-i:在 用i之, i的 ()1 i+,i-:在 用i之, i的 ()1 2.6.2.算术表达式 P39 用算术运算符和括号 运算(fi称 作数)fl 起来的、符语currency1 的式,称 算术表达式 运算 括常量、量、函数 2.6.2.算术表达式 P39 fi类数 型数据间的运算 char和short型转换 int型 float型一转换 double型 整型 ( 括int,short,long) 数据与 double型数据进 运算, 整型转换 double型 2.6.2.算术表达式 P39 fi类数 型数据间的运算 10 + a + i * f - d / e a转换成整数97,运算结果 107 i 整型 f float型 d double 型 e long型 2.6.2.算术表达式 P39 fi类数 型数据间的运算 10 + a + i * f - d / e 107 i与f转成double型,运算结果 double 型 i 整型 f float型 d double 型 e long型 2.6.2.算术表达式 P39 fi类数 型数据间的运算 10 + a + i * f - d / e 107 double型 107转换成双精度型,结果 double 型 i 整型 f float型 d double 型 e long型 2.6.2.算术表达式 P39 fi类数 型数据间的运算 10 + a + i * f - d / e 107 double型 double型 转换 double型 double型 结果 double型 i 整型 f float型 d double 型 e long型 2.6.2.算术表达式 P39 制类型转换 在表达式中fi 以利用“制类型转换”运 算符 数据转换成 需的类型 (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); f 3.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 /* 10进制数 */ a=0123; /* 8进制数 */ a=0 x53; /* 16进制数 */ 以定和 用以 6种整型量: 有符号基fl整型 signed int 无符号基fl整型 unsigned int 有符号短整型 signed short int 无符号短整型 unsigned short int 有符号 整型 signed long int 无符号 整型 unsigned long int 2.8.3 整型变量的类型 P44 在计算机语言中,常量是有类型的, fi是 计算机的 点 数据是 存储的,不同类型的数据 分配的 字节和存储方式是不同的 整型量有类型,因此整型常量fi应该有类 型,才 在 配 根据常量的 、数 的字 l L 、u U 类型 2.8.4 整型常量的类型 P45 运算符的 别高 ” 果 别相同, 定的“结 方向”处理 2.8.5 运算符的优先级与结合性 P45 本章到此结束, 谢谢您的光临!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!