欢迎来到天天文库
浏览记录
ID:51518358
大小:898.36 KB
页数:63页
时间:2020-03-25
《数据类型与变量、表达式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.2.3变量变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以改变的。变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。1、整型变量(1)整型变量的分类共六种有符号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号长整型(signed)int(signed)short(int)(signed)long
2、(int)unsignedintunsignedshort(int)unsignedlong(int)注意:括号表示其中的内容是可选的.整数类型的有关数据:类型类型说明符长度数的范围基本型int2字节-32768~32767短整型short2字节-215~215-1长整型long4字节-231~231-1无符号整型unsigned2字节0~65535无符号短整型unsignedshort2字节0~65535无符号长整型unsignedlong4字节0~(232-1)(2)整型变量的定义:C规定在程序
3、中所有用到的变量都必须在程序中定义,即“强制类型定义”。例如:inta,b;(指定变量a、b为整型)unsignedshortc,d;(指定变量c、d为无符号短整型)longe,f;(指定变量e、f为长整型)(3)整型常量的类型(2)_补数制转换:1)10进制2、8、16进制方法:除基倒取余2)2、8、16进制10进制方法:按权展开相加求和(4)整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。如:inti;/*定义为整型变量*/i=10;/*给i赋以整数10*/00000000000
4、01010以两个字节为例负数以补码的形式存放如:inti;/*定义为整型变量*/i=-10;/*给i赋以整数-10*/111111111110110注意:十进制数10的二进制形式为1010,TurboC2.0和TurboC++3.0为一个整型变量在内存中分配2个字节的存储单元(不同的编译系统为整型数据分配的字节数是不相同的,VC++6.0和C-Free3.5则分配4个字节)。数值是以补码(complement)表示的。补码的求法:例如:整数13在内存中实际存放的情况:例2.1整型变量的定义与使用#i
5、ncludevoidmain(){inta,b,c,d;//指定a、b、c、d为整型变量unsignedu;//指定u为无符号整型变量a=12;b=-24;u=10;c=a+u;d=b+u;printf(″a+u=%d,b+u=%d\n″,c,d);}说明:可以看到不同种类的整型数据可以进行算术运算运行结果:a+u=22,b+u=-14例2.2整型数据的溢出#includevoidmain(){inta,b;a=32767;b=a+1;printf(
6、“%d,%d”,a,b);}说明:数值是以补码表示的。(以16位,两个字节为例)一个整型变量只能容纳-32768~32767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。运行结果:32767,-32768例1、下列定义中,()定义的变量可以存放–123.4。A.longaB.unsignedbC.intdD.floatc例2、以下关于long、int和short类型数据占用内存大小的叙述中正确的是()(2007年9月全国计算机等考试原题)A、均占4个字节B、
7、根据数据的大小来决定所占内存的字节数C、由用户自己定义D、由C语言编译系统决定DD(1)浮点型变量的分类浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(longdouble,可不掌握)三类形式。类型位数数的范围有效数字float3210-37~10386~7位double6410-307~1030815~16位longdouble12810-4931~10493218~19位2、浮点型数据变量(2)浮点型数据在内存中的存放形式一个浮点型数据一般在内存中占4个字节(32位)
8、。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。(3)浮点常量的类型例2.3浮点型数据的舍入误差#includevoidmain(){floata,b;a=123456.789e5;b=a+20;printf(“%f”,b);}说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的
此文档下载收益归作者所有