C02-数据的存储与运算北航课件.pptx
《C02-数据的存储与运算北航课件.pptx》由会员分享,可在线阅读,更多相关《C02-数据的存储与运算北航课件.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C C语言程序设计语言程序设计 数据存储与运算数据存储与运算 数据存储形式与数制转换数据存储形式与数制转换数据存储形式与数制转换数据存储形式与数制转换 常量与变量常量与变量常量与变量常量与变量 整型数据整型数据整型数据整型数据l l整型常量与整型变量整型常量与整型变量整型常量与整型变量整型常量与整型变量 实型数据实型数据实型数据实型数据l l实型常量与实型变量实型常量与实型变量实型常量与实型变量实型常量与实型变量 字符型数据字符型数据字符型数据字符型数据l l字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量
2、 算术运算符与算术表达式算术运算符与算术表达式算术运算符与算术表达式算术运算符与算术表达式本节提要本节提要 数据数据数据数据l l一般是指一般是指一般是指一般是指“数数数数”,即,即,即,即“数的值数的值数的值数的值”,是,是,是,是计算机及其程序计算机及其程序计算机及其程序计算机及其程序能够加工处理的所有对象。能够加工处理的所有对象。能够加工处理的所有对象。能够加工处理的所有对象。l l数据可以是数值、字母、符号、声音、图形、图象、表数据可以是数值、字母、符号、声音、图形、图象、表数据可以是数值、字母、符号、声音、图形、图象、表数据可以是数值、字母、符号、声音、图形、图象、表格等能由计算机程
3、序进行加工处理的信息形式。格等能由计算机程序进行加工处理的信息形式。格等能由计算机程序进行加工处理的信息形式。格等能由计算机程序进行加工处理的信息形式。l lC C C C语言中,数据是以某种形式存在,如整数、实数、字语言中,数据是以某种形式存在,如整数、实数、字语言中,数据是以某种形式存在,如整数、实数、字语言中,数据是以某种形式存在,如整数、实数、字符等。符等。符等。符等。数据存储形式数据存储形式 位、字节、地址位、字节、地址位、字节、地址位、字节、地址l l位(位(位(位(bitbitbitbit):称为比特,代表的是一个二进制数):称为比特,代表的是一个二进制数):称为比特,代表的是一
4、个二进制数):称为比特,代表的是一个二进制数 0/10/10/10/1,是存储,是存储,是存储,是存储介质中用来存储信息的最小单位。介质中用来存储信息的最小单位。介质中用来存储信息的最小单位。介质中用来存储信息的最小单位。l l字节(字节(字节(字节(bytebytebytebyte),又称),又称),又称),又称 拜特。一般将拜特。一般将拜特。一般将拜特。一般将 8 8 8 8 个二进制位组合在一个二进制位组合在一个二进制位组合在一个二进制位组合在一起,构成一个存储单位,称为字节。也是存储设备的基本的起,构成一个存储单位,称为字节。也是存储设备的基本的起,构成一个存储单位,称为字节。也是存储
5、设备的基本的起,构成一个存储单位,称为字节。也是存储设备的基本的计量单位。如计量单位。如计量单位。如计量单位。如 KBKBKBKB,MBMBMBMB,GBGBGBGB。l l地址:用于对存储单元进行编号的一种方式。每个存储单元地址:用于对存储单元进行编号的一种方式。每个存储单元地址:用于对存储单元进行编号的一种方式。每个存储单元地址:用于对存储单元进行编号的一种方式。每个存储单元是一个字节,用一个地址来表示。是一个字节,用一个地址来表示。是一个字节,用一个地址来表示。是一个字节,用一个地址来表示。l l字字字字(word)/(word)/(word)/(word)/字长:计算机能够一次并行处理
6、的二进制位数。字字长:计算机能够一次并行处理的二进制位数。字字长:计算机能够一次并行处理的二进制位数。字字长:计算机能够一次并行处理的二进制位数。字长与计算机的总线长与计算机的总线长与计算机的总线长与计算机的总线/寄存器的位数有关。寄存器的位数有关。寄存器的位数有关。寄存器的位数有关。数据存储形式数据存储形式 数据类型数据类型数据类型数据类型l l数据类型是指数据存储数据类型是指数据存储数据类型是指数据存储数据类型是指数据存储/处理的形式,规定了数据值的范围、处理的形式,规定了数据值的范围、处理的形式,规定了数据值的范围、处理的形式,规定了数据值的范围、存储空间大小、允许的运算等。存储空间大小
7、、允许的运算等。存储空间大小、允许的运算等。存储空间大小、允许的运算等。l lC C C C语言中的数据类型可以划分为:基本类型、构造类型、指针语言中的数据类型可以划分为:基本类型、构造类型、指针语言中的数据类型可以划分为:基本类型、构造类型、指针语言中的数据类型可以划分为:基本类型、构造类型、指针类型、空类型。类型、空类型。类型、空类型。类型、空类型。l l基本类型包括:整型、字符型、浮点型(单精度、双精度)、基本类型包括:整型、字符型、浮点型(单精度、双精度)、基本类型包括:整型、字符型、浮点型(单精度、双精度)、基本类型包括:整型、字符型、浮点型(单精度、双精度)、枚举类型枚举类型枚举类
8、型枚举类型l l构造类型包括:数组类型、结构体类型、共用体类型。构造类型包括:数组类型、结构体类型、共用体类型。构造类型包括:数组类型、结构体类型、共用体类型。构造类型包括:数组类型、结构体类型、共用体类型。C C语言的数据类型语言的数据类型 1 1 1 1、数据在计算机中以二进制形式存储、数据在计算机中以二进制形式存储、数据在计算机中以二进制形式存储、数据在计算机中以二进制形式存储l l计算机内部的信息都是以二进制形式的计算机内部的信息都是以二进制形式的计算机内部的信息都是以二进制形式的计算机内部的信息都是以二进制形式的0 0 0 0和和和和1 1 1 1表示和存储的。表示和存储的。表示和存
9、储的。表示和存储的。l l在程序中还使用十进制、八进制和十六进制数。在程序中还使用十进制、八进制和十六进制数。在程序中还使用十进制、八进制和十六进制数。在程序中还使用十进制、八进制和十六进制数。n n其他进制数与二进制的数之间需要进行转换。其他进制数与二进制的数之间需要进行转换。其他进制数与二进制的数之间需要进行转换。其他进制数与二进制的数之间需要进行转换。数据存储形式数据存储形式1 10 01 10 01 10 01 10 0202122232425262710进制:1548进制:26216进制:9A 2 2 2 2、二进制数与十进制数的转换、二进制数与十进制数的转换、二进制数与十进制数的转
10、换、二进制数与十进制数的转换l l 二进制整数转换为十进制整数。二进制整数转换为十进制整数。二进制整数转换为十进制整数。二进制整数转换为十进制整数。数制转换数制转换1 10 01 10 01 10 01 10 0202122232425262710进制:1*27+0*26+0*25+1*24+1*23+0*22+1*21+0*20=128+16+8+2=154 2 2 2 2、二进制数与十进制数转换、二进制数与十进制数转换、二进制数与十进制数转换、二进制数与十进制数转换l l十进制整数十进制整数十进制整数十进制整数转换为二进制转换为二进制转换为二进制转换为二进制整数。整数。整数。整数。l l除
11、除除除2 2 2 2余数法余数法余数法余数法数制转换数制转换1 10 01 10 01 10 01 11 1155177138019191402011010进制:166166/2 =83 余 0 83/2 =41 余 1 41/2 =20 余 1 20/2 =10 余 0 10/2 =5 余 0 5/2 =2 余 1 2/2 =1 余 0 1/2 =0 余 1转换后二进制 10100110 2 2 2 2、二进制与十进制的转换、二进制与十进制的转换、二进制与十进制的转换、二进制与十进制的转换l l二进制数转换为十进制小数。二进制数转换为十进制小数。二进制数转换为十进制小数。二进制数转换为十进制
12、小数。数制转换数制转换1 10 01 10 00 00 00 00 02-82-72-62-52-42-32-22-110进制: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 2 2、二进制与十进制的转换、二进制与十进制的转换、二进制与十进制的转换、二进制与十进制的转换l l十进制小数十进制小数十进制小数十进制小数转换为二进制转换为二进制转换为二进制转换为二进制整数。整数。整数。整数。l l乘乘乘乘2 2 2 2进位法进位法进位法进位法数制转换数制转换1 10 01 10 00.562510.12500
13、.2500.510.010进制:0.5660.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 3 3 3、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转
14、换l l二进制数转换为八、十六进制整数。二进制数转换为八、十六进制整数。二进制数转换为八、十六进制整数。二进制数转换为八、十六进制整数。数制转换数制转换1 10 01 10 01 10 01 11 1八进制:组织为 3位一组形式,高位不足补0 010 011 011 =2 3 3十六进制:组织成4位一组形式,高位不足补0 1001 1011 =9 B 3 3 3 3、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转换、二进制与八进制、十六进制的转换l l二进制数转换为八、十六进制小数。二进制数转换为八、十六进制小数。二进制数转换为八、十六进制小数。二
15、进制数转换为八、十六进制小数。数制转换数制转换1 10 01 10 01 10 01 11 1八进制:(小数)组织为 3位一组形式,低位不足补0 100 110 110 =0.4 6 6十六进制:组织成4位一组形式,低位不足补0 1001 1011 =0.9 B l l八、十六进制整数和小数转换为二进制数,可直接将八、八、十六进制整数和小数转换为二进制数,可直接将八、八、十六进制整数和小数转换为二进制数,可直接将八、八、十六进制整数和小数转换为二进制数,可直接将八、十六进制数写成十六进制数写成十六进制数写成十六进制数写成 二进制形式即可。二进制形式即可。二进制形式即可。二进制形式即可。数据存储
16、形式与数制转换数据存储形式与数制转换数据存储形式与数制转换数据存储形式与数制转换 常量与变量常量与变量常量与变量常量与变量 整型数据整型数据整型数据整型数据l l整型常量与整型变量整型常量与整型变量整型常量与整型变量整型常量与整型变量 实型数据实型数据实型数据实型数据l l实型常量与实型变量实型常量与实型变量实型常量与实型变量实型常量与实型变量 字符型数据字符型数据字符型数据字符型数据l l字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量字符型常量、字符型变量、字符串常量 算术运算符与算术表达式算术运算符与算术表达式算术运算符与算术表达式算
17、术运算符与算术表达式本节提要本节提要 常量和符号常量常量和符号常量常量和符号常量常量和符号常量l l程序运行中,其值不能被改变的量称为常量程序运行中,其值不能被改变的量称为常量程序运行中,其值不能被改变的量称为常量程序运行中,其值不能被改变的量称为常量l l用标识符表示的常量称为符号常量用标识符表示的常量称为符号常量用标识符表示的常量称为符号常量用标识符表示的常量称为符号常量l l12121212,2012201220122012,0 0 0 0,-315 -315 -315 -315 整型常量整型常量整型常量整型常量l l3.14159263.14159263.14159263.141592
18、6,-1.23 -1.23 -1.23 -1.23 实型常量实型常量实型常量实型常量l la,D,0 a,D,0 a,D,0 a,D,0 字符常量字符常量字符常量字符常量l l#define PRICE 30#define PRICE 30#define PRICE 30#define PRICE 30 定义符号常量定义符号常量定义符号常量定义符号常量PRICEPRICEPRICEPRICE total=num*PRICE total=num*PRICE total=num*PRICE total=num*PRICE常量与变量常量与变量 符号常量使用示例符号常量使用示例符号常量使用示例符号常量
19、使用示例2-12-12-12-1:#include#include#include#include#define PRICE 30#define PRICE 30#define PRICE 30#define PRICE 30void main()void main()void main()void main()int num,total;int num,total;int num,total;int num,total;num=10;num=10;num=10;num=10;total=num*PRICE;total=num*PRICE;total=num*PRICE;total=num*P
20、RICE;printf(“total=%dn”,tatal);printf(“total=%dn”,tatal);printf(“total=%dn”,tatal);printf(“total=%dn”,tatal);符号常量符号常量程序中用PRICE代表常量30如在给PRICE赋值,则会出错PRICE=40;程序输出结果:total=300使用符号常量的优点:1、含义明确、清晰 2、一改全改,不会遗漏 变量变量变量变量l l变量代表内存中具有特定属性的一个存储单元,用于存储数据变量代表内存中具有特定属性的一个存储单元,用于存储数据变量代表内存中具有特定属性的一个存储单元,用于存储数据变量代表
21、内存中具有特定属性的一个存储单元,用于存储数据值,即变量的值值,即变量的值值,即变量的值值,即变量的值l l变量名是一个标识符,只能由字母、数字和下划线组成,且第变量名是一个标识符,只能由字母、数字和下划线组成,且第变量名是一个标识符,只能由字母、数字和下划线组成,且第变量名是一个标识符,只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。大小写字母代码不同的字符。一个字符必须是字母或下划线。大小写字母代码不同的字符。一个字符必须是字母或下划线。大小写字母代码不同的字符。一个字符必须是字母或下划线。大小写字母代码不同的字符。l l变量名长度不是无限的。具体长度由不同的编译器确定。变量
22、名长度不是无限的。具体长度由不同的编译器确定。变量名长度不是无限的。具体长度由不同的编译器确定。变量名长度不是无限的。具体长度由不同的编译器确定。l l变量变量变量变量名应简单、易记忆、且具有一定含义。名应简单、易记忆、且具有一定含义。名应简单、易记忆、且具有一定含义。名应简单、易记忆、且具有一定含义。l l同一段程序中,一个名只能用于一个变量。同一段程序中,一个名只能用于一个变量。同一段程序中,一个名只能用于一个变量。同一段程序中,一个名只能用于一个变量。l l变量必须变量必须变量必须变量必须先定义后使用先定义后使用先定义后使用先定义后使用。变量变量 合法变量名合法变量名合法变量名合法变量名
23、l l合法的标识符,且非关键字合法的标识符,且非关键字合法的标识符,且非关键字合法的标识符,且非关键字l lsum,Sum,average,_total,Class,daysum,Sum,average,_total,Class,daysum,Sum,average,_total,Class,daysum,Sum,average,_total,Class,dayl lLotus_1_2_3,V6,LiNingLotus_1_2_3,V6,LiNingLotus_1_2_3,V6,LiNingLotus_1_2_3,V6,LiNing 不合法变量名不合法变量名不合法变量名不合法变量名l l,$1
24、23,#33123.5,3.1415,$123,#33123.5,3.1415,$123,#33123.5,3.1415,$123,#33123.5,3.1415l l3D64,ab3D64,ab3D64,ab3D64,ab 尽管标准尽管标准尽管标准尽管标准C C C C中未规定标识符的长度,但受限于编译器中未规定标识符的长度,但受限于编译器中未规定标识符的长度,但受限于编译器中未规定标识符的长度,但受限于编译器的版本,建议不超过的版本,建议不超过的版本,建议不超过的版本,建议不超过32323232个,且前个,且前个,且前个,且前8 8 8 8个字符能区别每个个字符能区别每个个字符能区别每个个
25、字符能区别每个变量。变量。变量。变量。变量变量变量值变量值 变量值变量值变量值变量值的存储的存储的存储的存储l l编译程序在编译时给每个变量名分配对应的存储空间和内编译程序在编译时给每个变量名分配对应的存储空间和内编译程序在编译时给每个变量名分配对应的存储空间和内编译程序在编译时给每个变量名分配对应的存储空间和内存地址,变量的值则存储在该地址对应的内存中存地址,变量的值则存储在该地址对应的内存中存地址,变量的值则存储在该地址对应的内存中存地址,变量的值则存储在该地址对应的内存中。l l变量名、变量地址、存储单元、变量值变量名、变量地址、存储单元、变量值变量名、变量地址、存储单元、变量值变量名、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C02 数据 存储 运算 北航 课件
限制150内