第3章数据类型、运算符、表达式.ppt
《第3章数据类型、运算符、表达式.ppt》由会员分享,可在线阅读,更多相关《第3章数据类型、运算符、表达式.ppt(97页珍藏版)》请在三一办公上搜索。
1、第三章数据类型、运算符、表达式,数据类型分类,数据类型,基本类型,整型,实型,字符型,枚举类型,双精度,单精度,构造类型,指针类型,空类型,数组类型,共同体类型,结构体类型,常量,常量:在程序运行过程中,其值不能被改变的量。习惯上,符号常量名用大写,变量用小写,以示区别,符号常量:代表常量的标识符(符号)符号常量在程序开头定义,并且在程序中不可以改变值。只可以在定义处修改,并且所有要替代处都做出相应的修改。习惯上符号常量用大写字符。,例:求园面积,#define PI 3.14main()float r,s;r=2;s=PI*r*r;printf(s=%f,s);,EXP0301.C,变量,变
2、量:在程序运行过程中,其值可以被改变的量。变量在内存中占据一定的存储单元。变量类型决定存储单元的大小。变量名表示存储单元的值(该值在程序运行过程中可能随时变化)。,i,int i;i=9;,?,9,int a,b,c;a=123;b=456;c=a+b;,123,456,579,标识符,变量用标识符表示,即变量的名字。标识符的要求:以字母、数字、下划线组成且第一个字符必须为字母或下划线一般长度取8个字符(建议,不同系统)关键字不能作为标示符,合法&不合法标识符,sum$123 intclass day#33month 3D64 student_namemain _above ablotus_1
3、_23 basic M.D.Jhon,int_a average _123,合法&不合法标识符,sum$123 intclass day#33month 3D64 student_namemain _above ablotus_1_23 basic M.D.Jhonint_a average _123,对所有要使用的变量必须定义,每一变量属于一个类型。int a;float a;,大写字母和小写字母被认为是两个不同的字符。int sum,SUM;习惯上,变量名用小写字母表示符号常量习惯上用大写字母标识。,程序设计中变量的命名:必须满足C语言的语法规定。应该“见其名,知其意”,容易理解,方便阅读
4、程序。int sum;float average,area;,一定要先定义、后使用!,编译程序不能翻译未定义变量。没有开辟空间,把数据放到哪里去?编译程序在编译时根据变量类型确定存储单元的数量。不同类型的变量占据的内存单元大小不同。,编译程序在编译时要根据变量类型进行语法检查。例,整型变量a、b可以进行“求余”运算a%b若把a、b定义为实型变量,则上述运算非法。,常量类型与变量类型比较,常量:整型、实型、字符型、字符串型变量:整型、实型、字符型没有字符串型变量,字符串由字符型数组来存放!,整型数据,整型常量:10进制数8进制数(以0开头、0-7)16进制数(以0 x开头、0-f),能够进行各类
5、数据的转换(含2进制),数制转换,2进制到10进制,20+24+26+27+29+212+214=1+16+64+128+512+4096+16384=21201,10进制转换为2进制,(20484096),0,0,0,0,1,1,1,0,1,0,1,1,0,0,0,1,2进制转换为8进制,6,2,7,3,5,1,0153726,2进制转换为16进制,6,D,7,D,0 xD7D6,8进制转换为2进制,0153726,16进制转换为2进制,0 xD7D6,8进制转换为10进制,0123,3*80+2*81+1*82=3*1+2*8+1*64=83,10进制转换为8进制,(64512),1,2,
6、3,0123,10进制转换成8进制也可以先转换成2进制,再转换成8进制10进制与16进制的转换与8进制类似16进制与8进制之间的转换略,整型变量分类,有符号,无符号,(有符号)基本整型 int,(有符号)短整型 short,(有符号)长整型 long,无符号基本整型 unsigned int,无符号长整型 unsigned long,无符号短整型 unsigned short,整型变量,整型变量在内存的存储形式,整型变量在内存中是以二进制数形式存在的不同类型的整型变量分别占据2或4个字节。数制以补码形式表示(正数负数都是),正数补码就是其本身负数补码:绝对值二进制按位求反加1得到第一位为符号位
7、(有符号时)0表示正数、1表示负数,int a=9;,+1,int a=-9;内存中如何存储?,整型变量分类及参数,基本整型能表示的范围?,unsigned int a;a能表示多少的范围?2字节16位二进制数最大1111111111111111最小00000000000000000到65535(216-1),基本整型能表示的范围?,int a;a能表示多少的范围?最高位表示符号最大011111111111111132767(215-1)最小1000000000000000?,int a;a的值是多少?,-1,按位求反,6,添负号,-6,求负数补码负数绝对值(添负号)按位求反+1,负数补码转换
8、成十进制(上面的逆过程)?,int a;a的值是多少?,-1,按位求反,32768,添负号,-32768,基本整型能表示的范围?,int a;a能表示多少的范围?最高位表示符号最大011111111111111132767(215-1)最小1000000000000000?,-32768,整型变量的定义,int a,b;unsigned short c,d;long e,f;unsigned g;要在函数的开头部分定义(声明)变量。,整型常量的类型,1、整型常量的值在-32768+32767范围内,编译器认为是int类型。2、整型常量的值超过上述范围,而在-214748648+21474864
9、7范围内,编译器认为是long类型。,3、在整型常量的值后面家字母L(l),则告诉编译器,把该整数常量作为long类型处理。例:123L、0L常量没有unsigned类型。,实型数据,实型常量实数(real)又称为浮点数(float),表达方式:小数表示:0.123、.123、123.0、123.、0.0(必须有小数点)指数表示:123e3 或 123E3、123E-2,实型数据内存存储方式,实型变量类型及参数,实型变量的定义,float x,y;/*指定x、y为单精度实型变量*/double z;/*指定z为双精度实型变量*/,实型常量不分float型和double型。一个实型常量可以赋给一
10、个float型或double型变量。根据变量的类型截取实型常量中相应的有效位数字。,float a;double b;a=12345.6789;b=12345.6789;单精度a只能接收7位双精度b能接收9位,作业:P653.3(计算各种数制,除二进制外不算补码)3.4(除了char型),字符型数据,字符常量:单引号括起来的一个字符如:a、x、D、?、$。注意:a和A是不同的字符常量。(区分大小写),如何表示字符,开头的字符序列称为转义序列使其后字符变为另外的意义,转义字符,n t b r,换行 横向跳格 退格 回车,如何表示&,有没有另外一种方法实现?,输出是什么样的?,例:main()pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式

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