正文描述:《C语言_数据的表示与运算.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章数据的表示与运算本章要点数据的存储及数据类型数据的表示——常量和变量数据的运算及其规则2.1数据的存储及数据类型以二进制形式存储计算机存储器的存储单元按字节编址C语言针对不同类型的数据采用不同的存储方式——具体体现在不同的“数据类型”上C语言提供了以下一些数据类型:数据类型构造类型指针类型空类型(无值类型)void枚举类型enum数组类型结构体类型struct联合体类型union基本类型整型int字符型char实型(浮点型)单精度实型float双精度实型double整数的存储方式:以十进制补码形式存储。一般整数占用的空间:TurboC2.0:2个字节的存储单元TurboC++
2、3.0:2个字节的存储单元VC++6.0:4个字节根据占用空间和数值范围的不同细分为几种类型:基本整型int无符号的基本整型unsignedint短整型shortint无符号的短整型unsignedshortint长整型longint无符号的长整型unsignedlongint类型声明符字节数取值范围int2-32768~32767即-215~(215-1)short[int]2-32768~32767即-215~(215-1)long[int]4-2147483648~2147483647即-231~(231-1)unsigned[int]20~65535即0~(216-1)un
3、signedshort20~65535即0~(216-1)unsignedlong40~4294967295即0~(232-1)以TurboC++3.0为例:实数的存储形式:实数采用指数形式存储,即浮点数。将实数转化为标准化指数形式,分别存储尾数部分和指数部分。类型位数绝对值范围有效数字float4字节10-38~10387Double8字节10-308~1030816longdouble16字节10-4932~10493219单个字符的存储方式:存储字符的编码;目前大多数计算机采用ASCII代码;占用的空间:一个字节的存储空间。例如:字符’A’为char类型,在内存中占1字节,存
4、储的是其ASCII码值65。2.2程序中数据是如何表示的?常量、变量常量:程序运行过程中,其值不能被改变的量。常量也相应地区分为不同的类型:#includevoidmain(){inti,x,s,avg;i=0;s=0;do{scanf("%d",&x);s=s+x;i=i+1;}while(i<10);avg=s/10;printf("avg=%d",avg);}整型125,-100,0,037,0x38默认为int,可以用后缀指明类型:289L,32767L,39u,39090u,65536Lu实型3.14,-3.7e9,.23e-3默认double类
5、型,9.6f为float型字符型‘a’,‘b’,‘2’字符串“a”,“ab”,“1234”八进制十六进制#includevoidmain(){inta;a=32767+1;/*int+int*/printf("a=%d",a);}运行时显示??-3276801111111111111113276700000000000000011-----------------------------------1000000000000000-32768小心结果“溢出”!整型数据运算中应该注意的问题:请思考:longa;a=32767+1;a:-32768longa;a=32
6、767L+1;a:327680000000000000000011111111111111132767L000000000000000000000000000000011-----------------------------------------------------0000000000000000100000000000000032768(1)字符本质上是整数,既可以当作字符,也可以当作整数使用;printf(“%c,%d,%c,%c”,’a’,’a’,’a’-32,97-32);运行时显示??a,97,A,A字符型数据注意的问题:(2)有些特殊字符无法正常表示出来,需要
7、使用转义符“”进行转义。换行符(ASCII码值为10)表示为‘’,即把字母n转义为换行符。如:inta=10,b=20;printf(“a=%db=%d”,a,b);转义字符表示含义ASCII码\反斜杠字符“”92’单引号字符39”双引号字符34换行,将当前位置移到下一行开头10t水平制表,横向跳到下一个输出区9r回车,将当前位置移到本行开头13f打印换页,将当前位置移到下页开头12b退格,将当前位置移到前一列8ddd1到3位八进制
显示全部收起