C02 - 数据的存储与运算北航课件

上传人:德****1 文档编号:1089330 上传时间:2017-05-27 格式:PPTX 页数:51 大小:249.13KB
返回 下载 相关 举报
C02 - 数据的存储与运算北航课件_第1页
第1页 / 共51页
C02 - 数据的存储与运算北航课件_第2页
第2页 / 共51页
C02 - 数据的存储与运算北航课件_第3页
第3页 / 共51页
C02 - 数据的存储与运算北航课件_第4页
第4页 / 共51页
C02 - 数据的存储与运算北航课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《C02 - 数据的存储与运算北航课件》由会员分享,可在线阅读,更多相关《C02 - 数据的存储与运算北航课件(51页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计, 数据存储与运算,数据存储形式与数制转换常量与变量整型数据整型常量与整型变量实型数据实型常量与实型变量字符型数据字符型常量、字符型变量、字符串常量算术运算符与算术表达式,本节提要,数据一般是指“数”,即“数的值”,是计算机及其程序能够加工处理的所有对象。数据可以是数值、字母、符号、声音、图形、图象、表格等能由计算机程序进行加工处理的信息形式。C语言中,数据是以某种形式存在,如整数、实数、字符等。,数据存储形式,位、字节、地址位(bit):称为比特,代表的是一个二进制数 0/1,是存储介质中用来存储信息的最小单位。字节(byte),又称 拜特。一般将 8 个二进制位组合在一起,构

2、成一个存储单位,称为字节。也是存储设备的基本的计量单位。如 KB,MB,GB。地址:用于对存储单元进行编号的一种方式。每个存储单元是一个字节,用一个地址来表示。字(word)/字长:计算机能够一次并行处理的二进制位数。字长与计算机的总线/寄存器的位数有关。,数据存储形式,数据类型数据类型是指数据存储/处理的形式,规定了数据值的范围、存储空间大小、允许的运算等。C语言中的数据类型可以划分为:基本类型、构造类型、指针类型、空类型。基本类型包括:整型、字符型、浮点型(单精度、双精度)、枚举类型构造类型包括:数组类型、结构体类型、共用体类型。,C语言的数据类型,1、数据在计算机中以二进制形式存储计算机

3、内部的信息都是以二进制形式的0和1表示和存储的。在程序中还使用十进制、八进制和十六进制数。其他进制数与二进制的数之间需要进行转换。,数据存储形式,10进制:1548进制: 26216进制:9A,2、二进制数与十进制数的转换 二进制整数转换为十进制整数。,数制转换,10进制:1*27 + 0*26 + 0*25 + 1*24 + 1*23 + 0*22 + 1*21 + 0*20 =128 + 16 + 8 + 2= 154,2、二进制数与十进制数转换十进制整数转换为二进制整数。除2余数法,数制转换,10进制: 166166 / 2 = 83 余 0 83 / 2 = 41 余 1 41 / 2

4、 = 20 余 1 20 / 2 = 10 余 0 10 / 2 = 5 余 0 5 / 2 = 2 余 1 2 / 2 = 1 余 0 1 / 2 = 0 余 1转换后二进制 10100110,2、二进制与十进制的转换二进制数转换为十进制小数。,数制转换,10进制:1*2-1 + 0*2-2 + 0*2-3 + 1*2-4 + 0*2-5 + 0*2-6 + 0*2-7 + 0*2-8 =0.5 + 0.0625= 0.5625,2、二进制与十进制的转换十进制小数转换为二进制整数。乘2进位法,数制转换,0.5625,1,0.125,0,0.25,0,0.5,1,0.0,10进制: 0.566

5、0.566 * 2 = 1.132 = 10.132 * 2 = 0.264 = 00.264 * 2 = 0.528 = 00.528 * 2 = 1.056 = 10.056 * 2 = 0.112 = 00.112 * 2 = 0.224 = 00.224 * 2 = 0.448 = 00.448 * 2 = 0.896 = 00.896 * 2 = 1.792 = 1,转换后二进制 取8位: 0.10010000 = 0.5625取9位: 0.100100001 = 0.564453125,3、二进制与八进制、十六进制的转换二进制数转换为八、十六进制整数。,数制转换,八进制: 组织为

6、3位一组形式,高位不足补0 010 011 011 = 2 3 3十六进制:组织成4位一组形式,高位不足补0 1001 1011 = 9 B,3、二进制与八进制、十六进制的转换二进制数转换为八、十六进制小数。,数制转换,八进制:(小数) 组织为 3位一组形式,低位不足补0 100 110 110 = 0. 4 6 6十六进制:组织成4位一组形式,低位不足补0 1001 1011 = 0. 9 B,八、十六进制整数和小数转换为二进制数,可直接将八、十六进制数写成 二进制形式即可。,数据存储形式与数制转换常量与变量整型数据整型常量与整型变量实型数据实型常量与实型变量字符型数据字符型常量、字符型变量

7、、字符串常量算术运算符与算术表达式,本节提要,常量和符号常量程序运行中,其值不能被改变的量称为常量用标识符表示的常量称为符号常量12,2012,0,-315 整型常量3.1415926,-1.23 实型常量a, D, 0 字符常量# define PRICE 30 定义符号常量PRICE total = num * PRICE,常量与变量,符号常量使用示例2-1:# include # define PRICE 30void main() int num, total; num = 10; total = num * PRICE; printf(“total = %dn”,tatal);,符号

8、常量,程序中用PRICE代表常量30如在给PRICE赋值,则会出错PRICE = 40;,程序输出结果: total = 300,使用符号常量的优点: 1、含义明确、清晰 2、一改全改,不会遗漏,变量变量代表内存中具有特定属性的一个存储单元,用于存储数据值,即变量的值变量名是一个标识符,只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。大小写字母代码不同的字符。变量名长度不是无限的。具体长度由不同的编译器确定。变量名应简单、易记忆、且具有一定含义。同一段程序中,一个名只能用于一个变量。变量必须先定义后使用。,变量,合法变量名合法的标识符,且非关键字sum, Sum, average

9、, _total, Class, dayLotus_1_2_3, V6, LiNing不合法变量名M.D.John, $123, #33123.5, 3.14153D64, ab尽管标准C中未规定标识符的长度,但受限于编译器的版本,建议不超过32个,且前8个字符能区别每个变量。,变量,变量值,变量值的存储编译程序在编译时给每个变量名分配对应的存储空间和内存地址,变量的值则存储在该地址对应的内存中。变量名、变量地址、存储单元、变量值 之间的关系 每个变量都有一个名称; 每个变量都会在内存分配一个存储空间(存储单元) 每个存储单元都有一个编号(变量地址) 每个存储单元都可以存放一个数据值(变量的值

10、),变量值的存储,每个变量存储在内存单元中,可读/写变量名仅在源程序中引用,可执行程序中使用分配的内存地址,C语言中要求对程序使用到的变量进行强制定义。 int i, j, sum, total; char c; 变量定义的语法: ,;为每个变量确定一个类型,编译时可分配存储单元为每个int类型变量分配2个字节,char类型一个字节检查针对该变量的运算是否合法 j = i % 12,变量的定义,C语言允许在变量定义时给变量赋初值。,变量赋初值,int a = 3;float pi = 3.1416;char c = a;,int i,j, k = 5;int b = 3, c = 3;,不能写

11、成:int b = c = 3;,数据存储形式与数制转换常量与变量整型数据整型常量与整型变量实型数据实型常量与实型变量字符型数据字符型常量、字符型变量、字符串常量算术运算符与算术表达式,本节提要,1、整型常量的表示(1)十进制整数,如123, -456(2)八进制整数,以0开头0123,表示八进制的数123,其十进制值为182 + 281 +380 = 83-011,表示八进制数-11,即十进制的-9(3)十六进制整数,以0x开头0x123,十六进制数123,十进制值为1162 + 2161 +3160 = 256 + 32 + 3 = 291-0x11,十六进制数-11,即十进制的-17,整

12、型数据,2、整型变量基本类型是int,值范围-32768 32767,2个字节短整型short,值范围-128 127,1个字节长整型long,-2147483648 2147483647,4字节有符号整型(signed)signed int, signed short, signed long无符号整型(unsigned)unsigned int, unsigned short, unsigned long 065535,0255,04294967295(0232-1),整型数据,3、整型变量的定义语法格式,整型数据,int a1, b1; unsigned short c,d; signe

13、d long m; a1 = b1 + c; m = a1 * d;,定义并使用整型变量(示例2-2)# include void main() int a,b,c,d; unsigned short u; a = 150; b = -100; u = 10; c = a + u; d = b * u; printf(“c = %d; d = %dn”,c,d);,整型示例,程序输出结果: c = 160; d = -1000,定义4个 int 类型变量 取值范围 32768 32767,定义1个无符号 short 变量u的值 0 255,鸡兔同笼(示例2-3)一个笼子里同时养着一群鸡和兔,主

14、人告诉客人说,笼中共有动物 16 头,动物的总脚数 40 只,那么鸡和兔各多少只?,整型示例,解体思路设 鸡 x 只,兔 y 只,动物总数 m, 总脚数 n,则: x + y = m; 2x + 4y = n; x = m y; x = (n 4y)/2; y = (n 2m)/2; x = m y; 带入数据后得到 y = 4; x = 12。,鸡兔同笼(示例2-3)# include void main() int m,n,x,y; m = 16; n = 40; y = (n - 2*m)/2; x = m - y; printf(“x = %d; y = %dn”,x,y);,整型示例

15、,程序输出结果: x = 12; y = 4,定义4个 int 类型变量,可用输入语句:scanf(Input:,&m, &n);,数据存储形式与数制转换常量与变量整型数据整型常量与整型变量实型数据实型常量与实型变量字符型数据字符型常量、字符型变量、字符串常量算术运算符与算术表达式,本节提要,1、实型(浮点型)常量的表示(1)十进制小数,由数字和小数点组成0.123,456.0,0.0(2)指数形式123e3 或 123E3,表示123103一个实数可以有多种指数表示方式,如: 123.45e0、12.345E1、1.2345e2、0.12345e3等,都表示123.45打印输出时,采用规范化表示,即1.2345e2,

展开阅读全文
相关资源
相关搜索

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

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