程序设计02章-数据类型与运算.ppt
《程序设计02章-数据类型与运算.ppt》由会员分享,可在线阅读,更多相关《程序设计02章-数据类型与运算.ppt(128页珍藏版)》请在三一办公上搜索。
1、,第二章,基本数据类型及运算,进位计数制,在计算机科学中除十进制外,常用的还有二进制、八进制和十六进制。如果用r个基本符号(例如0,1,2,r1)表示数值,则称其为r进制数,r称为该数制的基数。,不同计数制具有的共同特点,每一种计数制都有固定的符号集 如十进制数制,其符号有十个:0,1,2,9。二进制数制,其符号有两个:0和1。不同进制都使用位置表示法,即处于不同位置的数符所代表的值不同,该值与所在位置的权值有关。值=数符*权值 x4x3x2x1x0.x-1x-2x-3x-4,权值是基数的i次幂,十进制各位置(012.)的权值,100=1 101=10 102=100 103=1000 如 1
2、23.456=1*102+2*101+3+4*10-1+5*10-2+6*10-3,二进制各位置(012.)的权值,20=1 21=2 22=4 23=8 24=1625=32 26=64 27=128 28=25629=512 210=1024 211=2048212=4096 213=8192 214=16384215=32768 216=65536,不同进制之间的转换,r进制转换为十进制 将r进制数的每位(非零)数值与相应位置的权值相乘,然后相加即可。x4x3x2x1x0.x-1x-2x-3x-4如(100110.101)2=(1*25+1*22+1*21+1*2-1+1*2-3)10=
3、(38.625)10,思考,(1111)2=(?)10=2?-1(11111)2=(?)10=2?-1(111111)2=(?)10=2?-1(1111111)2=(?)10=2?-1(11111111)2=(?)10=2?-1,十进制数转换为r进制:除r取余法 将一个十进制整数反复除以基数r,直到商为0为止,并记下每次所得余数 将最后一个余数到第一余数按从左到右的次序连起来,它们所组成的数字串即为相应的r进制整数。,非十进制数间的转换两个非十进制数之间的转换方法一般结合上述两种方法进行转换,即先把被转换数据转换为相应的十进制数,然后再将十进制数转换为其他进制数。由于二进制、八进制和十六进制之
4、间存在特殊关系,即8=23,16=24,因此转换方法就比较容易,特殊关系,1位二进制数相当于1位二进制数 1位四进制数相当于2位二进制数 221位八进制数相当于3位二进制数 231位十六进制数相当于4位二进制数 24,特殊关系基本对照表,二进制 八进制 二进制 十六进制 二进制 十六进制 000 0 0000 0 1000 8 001 1 0001 1 1001 9 010 2 0010 2 1010 A 011 3 0011 3 1011 B 100 4 0100 4 1100 C 101 5 0101 5 1101 D 110 6 0110 6 1110 E 111 7 0111 7 11
5、11 F,二进制转换到八进制 只需将二进制数从右向左每3位一组(最后不足3位补零),根据基本对照表,从左向右即可完成转换。二进制同十六进制之间的转换:4位一组反之,可以转换为二进制,其他相关内容,参考,有关位的知识以及计算机中数值的编码表示方法,内存是以2的指数(0123.)个字节为单位的连续的存储空间,每个内存单元有一个唯一的编号,即地址一个字节由8个二进制位组成最右边的一位称为“最低位”,最左边的一位称为“最高位”。每一个二进制位的值是0或1。,以最高位作为符号位为0表示正数,为1表示负数。表示数值,可采用不同的编码方法,一般有:原码、反码和补码。,原码,符号位为0代表正数,为1代表负数,
6、其余各位代表数值本身的绝对值+0和0是同一个数0,而在内存中却有两个不同的表示。00000000000000001000000000000000由于0的表示方法不唯一,不适合计算机的运算。,反码,正数的反码与原码相同。而负数的反码是:原码除符号位外(仍为1),各位取反。+0的反码是:00000000000000000的反码是:同样,0的表示不唯一。所以在计算机内部一般也不使用反码来表示数。,补码,正数的补码与原码相同。而负数的补码是:除最高位仍为1外,原码的其余各位求反(即反码),再加1。用补码形式表示数值0时,是唯一的:0000000000000000,计算机通常都是以补码形式存放数。不仅数
7、值表示唯一,而且能将符号位与其他位统一处理。在计算机中可以使减法变为加法,为硬件实现提供方便。,主要内容,数据类型常量变量运算符与表达式类型转换运算的优先级与结合性等,数据类型,数据类型是一个抽象的概念,包含有一组数据(值)的定义和对该组数据能够进行的操作(运算)的定义。对数据类型的使用,必须通过类型的实际例子(实例/实体,即变量或常量)来体现。程序中,数据仅以变量或常量的形式表示,C语言的数据类型,数据类型,构造类型,指针类型,空类型(无值类型)void,C语言的数据类型,基本数据类型较简单,是语言(编译器)已经定义好的类型,可直接使用;构造类型是由基本数据类型或其他构造类型组织而成的,是程
8、序员自己定义的类型指针在C语言中极为普遍,指针提供了动态处理变量的能力,是C语言的精髓。,第2章,第4章,第5章,2.1 基本数据类型,基本数据类型是其他类型的基础整型、字符型、浮点型基本类型数据是程序处理的基本对象不同的数据类型的数据具有不同的取 值范围和允许的操作。,思考,为什么C语言不提供布尔类型?,2.1.1 整型,整型的基本类型名为int。根据数值的范围又可分为普通整型(int)、短整型(short int或short)和长整型(long int或long)。根据整型值是否带符号位来分类,可以分为无符号整型(unsigned)和带符号整型(signed可以省略)。,类型与类型名,有符
9、号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号长整型,(signed)int(signed)short(int)(signed)long(int)unsigned intunsigned short(int)unsigned long(int),整型,需要注意的是,标准C没有具体规定以上各类数据所占内存字节数。只要求long型数据长度不短于int型,short型不长于int型。具体如何实现,由各计算机系统和编译系统决定。,整型,如在Turbo C 2.0中,一个int型和一个short型数据分别占用2个字节(16位)的内存空间,一个long型数据占用4个字节(32位)的内存
10、空间;而在Visual C+6.0中,一个short型数据占用2个字节的内存空间,一个int型数据和一个long型数据分别都占用4个字节的内存空间。,常用存储容量,1B=8bit=1字节1KB=1024B1MB=1024KB(百万、兆)1GB=1024MB(十亿、千兆)1TB=1024GB(万亿、百万兆),整型,根据整型数据所占的位数,可以计算一个整型数据能表示的数据的取值范围。超出最大值:溢出。以int(有符号普通整型)为例计算取值范围。在Visual C+6.0中,普通整型占32位,即4个字节。,存储方式,0 1 31第0位是符号位:0:正整数,最大为2311,即2147483647。1:
11、负整数,1到31位全为0时表示的数最小(231的补码)。最小整数是231,Turbo C2.0中,类型 字节数 数值范围short 2 215(2151)unsigned short 2 0(2161)int 2 215(2151)unsigned 2 0 216 long 4 231(2311)unsigned long 4 0(2321),Visual C+6.0,类型 字节数 数值范围short 2 215(215-1)unsigned short 2 0(216-1)int 4 231(231-1)unsigned 4 0(232-1)long 4 231(231-1)unsigned
12、 long 4 0(2321),2.1.2 浮点型,标准C语言中,浮点型数分为单精度型(float)、双精度型(double)和长双精度型(long double)浮点数三类。一个float型数据占用4个字节的内存空间,一个double型数据占用8个字节的内存空间,一个long double型数据占用16个字节(128位)的内存空间。,有效位数,浮点型数据的取值范围和值的精度与所用的机器有关。有效位数:是该数中有效数字的个数,指从该数左方第一个非零数字算起到最末一个数字(包括中间的零)的个数,它不取决于小数点的位置。,浮点型数据是按照指数形式存储的。系统把一个浮点型数据表示为小数部分和指数部分
13、,分别存放。,数值范围,类型 字节数 有效位数float 4 7 数值范围 3.410383.41038阶的范围 3838,思考,最接近0的正的float型数据是?,数值范围,类型 字节数 有效位数double 8 16 数值范围 1.7103081.710308阶的范围 308308,数值范围,类型 字节数 有效位数long double 16 1819 数值范围 1.21049321.2104932阶的范围 49324932,2.1.3 字符型,C语言中,字符型的基本类型名为char。以1个字节(8位)来存放一个字符有符号字符型数据的取值是128127无符号字符型数据的取值是0255,2.
14、2 常量,常量是在程序执行过程中值不变的数据。如圆周率的值、字母B在ASC码字符集中的编码值等,这类数据就称为常量。数值常量:整型常量、浮点数常量字符型常量:字符常量、字符串常量、转义字符符号常量,2.2.1 整型常量,常用的三种不同的数制十进制 八进制 十六进制65 0101 0 x41125 0175 0 x7d长整型:-56l;3567L;04L无符号整型:586u;077765U;0 xfffdU无符号长整型:0375ul;0 x45feUL,例2.1 整数的不同进制数表示,main()printf(%d%x%on,125,125,125);printf(%d%x%on,045,045
15、,045);printf(%d%x%on,0 x32,0 x32,0 x32);执行结果:125 7d 175 37 25 45 50 32 62,2.2.2 浮点数常量,浮点数在程序中只能以十进制数表示。小数形式:3.141-25.3 23.45 指数形式:(整数部分).(小数部分)e(或E)(指数部分)注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数 非法浮点数 3.14e7.8;12.34 e8;12,345e-2,2.2.3 字符常量,字符常量是指用单引号括起来的一个字符。字符按对应的ASCII码值存储,占一个字节 a:97 A:65 9:57 0:48字符常量可以作为整数
16、参与运算a-32 等价于 97-32=65 9-9 等价于 57-9=48 A+32 等价于 65+32=97,例 大小写字母的转换,#include void main()char c1,c2;c1=A;c2=c;printf(“c c”,c1+32,c2-32);,转义字符,还有一种特殊形式的字符常量,以一个开头的字符序列:转义(escape)字符转义字符,在屏幕上不能显示,在程序中也无法用一个一般形式的字符表示,只能采用特殊形式来表示。C语言中,转义字符有三种:简单转义字符、八进制转义字符和十六进制转义字符,转义字符,八进制转义字符和十六进制转义字符,用ddd 或xhh形式可以表示任意字
17、符 A 65 101 x41 5 53 065 x35 234 352 xea,2.2.4 字符串常量,用一对双引号括起来的零个或多个字符的序列。如:“hello”“b”“$43.23”字符串常量与字符常量的存储不同C编译程序在存储字符串常量时自动在其末尾加上NULL 或0(ASCII码值为0)作为字符串结束标志,“China”长度为5,需要占6个字节 C h i n a NULL,区别,b 和“b”“”和“”,2.2.5 符号常量,便于程序调试和修改,将常量定义为一个标识符,称为符号常量。通常用大写表示。#define MAX 1024#define STAR*const float PI=
18、3.1415926;/C99方式 int const NUMB=1024;/C99方式,常量的存储,内存中安排常量数据存储区按照常量在程序中的出现顺序(重复出现的常量,仅仅存放一次),依次存放各个常量(二进制机器数形式);只能使用常量,不能够改变常量的值,2.3 变量,值可以改变的数据。变量代表内存中的一个(或多个)存储单元,单元内容就是变量的值。需要给变量取个名字使用标识符代表变量(变量名),标识符:以字母和“_”开头的;字母、数字和“_”组成的串一般用小写字母不能与关键字同名。,2.3.1 变量定义,变量必须先定义后使用。定义格式为 数据类型名 变量名表;例如:int num;char c
19、h1,ch2;double length,result,sum;,以逗号分开的变量列表,2.3.2 变量的初始化,定义变量时可以对变量赋初值。例如:int num2,num3=100;char ch1=b,ch2;float r=2.345;,变量的存储,内存中(按照函数的调用顺序动态地)安排变量数据存储区按照变量在程序中的出现顺序,依次存放各个变量;可以使用变量,也能够改变变量的值,2.3.3 变量地址,存放变量的内存空间中的首单元地址称为变量地址内存空间存放的内容称为变量的值。,&a2500H|2501H|-1250-a=1250&b2502H|2503H|-2504H|-2505H|-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 02 数据类型 运算

链接地址:https://www.31ppt.com/p-6596202.html