第三章数据类型运算符与表达式.ppt
《第三章数据类型运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《第三章数据类型运算符与表达式.ppt(63页珍藏版)》请在三一办公上搜索。
1、第三章 数据类型、运算符与表达式,3、1 C语言的数据类型 3、6 变量赋初值3、2 常量和变量 3、7 混合运算 3、3 整型数据 3、8 算术运算3、4 实型数据 3、9 赋值运算3、5 字符型数据 3、10 逗号运算 3、11 位运算,3、1 C的数据类型所谓数据结构指的是数据的组织形式。,基本类型构造类型指针类型空类型,整型实型字符型枚举型,数组类型结构体类型共用体类型,单精度型双精度型,C语言中的数据有常量和变量之分,它们分属于以上类型。,数据类型,在程序中对用到的所有数据变量都必须指定其数据类型。,3、2 常量和变量 1、常量 在程序运行过程中其值不能改变的量称为常量。一般从其字面
2、形式即可判别。整型常量:12,0,345 实型常量:44.6,-1.23,1.2E-3,6e+2 字符常量:a、D、d 字符串常量:“This is a program.”2、符号常量 符号常量:用一个标识符代表一个常量。,#define PRICE 30 main()int num=10,total;total=num*PRICE;/*相当于total=num*30;*/运行结果:total=300,符号常量使用注意事项,(1)一般符号常量用大写字母取名(2)符号常量的值在其作用域内不能改变 即程序里不能出现 PRICE=40;语句,3、变量,1)标识符:用来作为变量名、符号常量名、函数名、
3、数组名、文件名等的有效字符序列称为标识符 规定:(1)标识符只能由字母,数字和下划 线组成,且以字母或下划线开头 建议不超过 8 个字符。(2)大小写分别表示不同的标识符。,2)关键字(保留字):一些在编译过程中起特殊作用的标识符。如:char,int,short,float,double if,else,while,等共计32个,3)变 量,程序运行过程中其值可以改变的量称为变量。变量应该有名字,并在内存中占有一定的存储单元。,变量名是一个标识符。,合法的变量名:sum,_above,class1,basic,不合法的变量名:M.D.John,3D64,ab,#33,$234,注意:(1)变
4、量名一般用小写字母表示(2)起变量名应遵循“见名知义”原则(3)变量名不能与关键字同名。,4)变量的定义及其目的,例:int a,b,c;char c1,c2;,其目的为:(1)凡未被定义的,不作变量名使用;(2)指定变量类型后,系统编译时可分配相应 的存储单元;(3)定义变量类型便于编译时检查此变量所 进行的运算是否合法。,C中变量应先定义后使用。,计算机内部的数据和C语言的数据都是以二进制补码表示的。补码的最高位为符号位,若为0,该数为正数;若为1,该数为负数。符号位与数值位一起参与运算。,正数的补码即其本身。负数的补码可这样求出:(1)先求该数的绝对值,再求出对应正数的二进制编码;(2)
5、对二进制编码按位取反;(3)对最低位加1。,补充:数的补码表示,求-2的补码(以两个字节表示),(1)求-2的绝对值,|-2|=2,二进制编码为:0000 0000 0000 0010,(2)按位取反得:1111 1111 1111 1101,(3)最低位加1:1111 1111 1111 1101,1,1111 1111 1111 1110,3、3 整型数据,1、整型常量,C整常数有三种表示形式:十进制:123,456,0八进制:以0开头,如:0123 等于十进制数83 011 等于十进制数9 十六进制:以0 x或0X打头 如:0 x123 等于十进制数291 0 x12 等于十进制数18注
6、:负数在计算机中表示形式?,2、整型变量,整型变量,基本整型 int,短整型 shortint,长整型 long(int),无符号型,无符号整型unsigned int,无符号长整型unsigned long,无符号短整型unsigned short,3、整型变量的定义及使用,程序中用到的变量都必须先定义,例如:,运行结果:a+u=22,b+u=-14,4、整型数据的溢出,一个int型变量的最大允许值是32767,如果再加1,其结果会是怎样一种情况?,0111111111111111 数值:32767,+,0000000000000001 数值:1,1000000000000000 数值:-3
7、2768,=,它就好像汽车的里程表一样,达到最大值后,又从最小的开始计数.,5、整型常量的类型,1.值在3276832767的整常数,认为它是int型,可赋给 int 型和 long int 型变量;2.值超过上述范围,而在2 21的整常数,认为它是 long int 型,可赋给 long int 型变量;3.只有非负的整常数可赋给 unsigned型变量,但 值不能超出该 unsigned 型变量的取值范围;4.整常量后加一个l 或L,则认为其为 long int 型 常量,如:123L,0L,432L 此常用于函数调用中,使形参类型匹配于实参类型。,31,31,3、4实型数据,1、实型常量
8、,1)十进制数形式:由数字和小数点组成 如:0.0,0.123,-34.6,.678,90.注意:小数点必须有,且其前后数字不能同时缺省。2)指数形式(科学计数法):由尾数,指数和 字母e或E组成 如:123E3 代表 12310 注意:E前必须有数字,E后必须为整数 E5 3.4E5.6 不合法,3,3)规范化的指数(输出)形式:即在字母e或E之前的小数部分中,小数点左边应有一位且只能有一位非零的数字。如:2.3478e2、3.099E5 等等.4)实型数据在内存的存放形式:实型数据是按指数形式存储的,系统把一个实型数据分成小数部分(.xxxxx)和指数部分(采用规范化的指数形式),分别存放
9、.如:3.14159,小数部分占的位数越多,精度越高;指数部分占的位数越多,可表示数值范围越大.,2、实型变量,单精度型(float)32位 7位有效数字 10 10 双精度型(double)64位 1516 位有效数字 10 10,38,38,308,308,定义实型变量:float x,y;double z,a,b;,3、实型变量的赋值 实型常量不分 float型和double型,系统按double型处理,若按float型处理,可在数值后面加f或F.一个实型常量可赋给一个实型变量(float型或double型),根据变量类型截取实常量中相应的有效位数。例:float x;double y;
10、则:x=222222.222 y=222222.222,注意实型数据的舍入误差;应当避免将一个很大的数和一个很小的数直接相加减;同理1.0/3*3!=1,3.5 字符型数据,1、字符常量 1)一般形式字符常量:用单引号括起来的单个字符。如:A,?,=2)转义字符序列:以开头的字符序列,可表示任何可输出的字母字符,专用字符,图形字符和控制字符如n为换行控制符,n 换行将当前位置移到下一行开头 t 水平制表(跳到下一个tab位置)b 退格,将当前位置移到前一列r 回车,将当前位置移到本行开头f 换页,将当前位置移到本页开头 反斜杠字符 单引号(撇号)字符”双引号字符ddd 1到3位8进制数所代表的
11、字符xhh 1到2位16进制数所代表的字符,2、字符变量 用来存放一个字符常量。,定义形式:char c1,c2;,赋值:c1=O;c2=K;,则:,printf(%c%c n,c1,c2);,输出:O K,一个字符变量在内存中占一个字节。,3、字符数据在内存中的存储形式及其使用方法,1)字符数据在内存中存放的是其ASCII值。例:char c1,c2;c1=a;c2=b;则:,97,98,c1,c2,2)C中,整型数据和字符型数据之间可通用(1)程序中,字符数据既可按字符形式输出,也可以整数形式输出。由输出格式字符串%c 和%d 决定。(2)字符数据可进行算术运算,字符变量 既可赋值以字符常
12、量,也可赋以相应的 ASCII值。C的整型数据与字符数据间可相互赋值。,运行结果:a b A B,4、字符串常量,一对双引号括起来的字符序列。例:a,How do you do.,China,abcn,$123.45,C规定:,在内存中,系统自动在每个字符串的结尾加上一个字符串结束标志0,以便系统据此判断字符串结束标志。,所以,“a”在内存中占两个字节。,a,0,char c;c=a;c=a;,C 中无专门的字符串变量,如需要,可用字符数组来存放。,注意:字符常量和字符串常量不可混淆。,3.6 变量赋初值,例1:int a=3;float f=3.56;char c=a;,例2:int a,b
13、,c=3;,错例:int a=b=c=3;,此些变量的初始化不是在编译阶段完成,而是在程序执行本函数时赋予初值的,相当于有一个赋值语句。,3.7 数值型数据间的混合运算,C中,整型,字符型,实型(包括单精度,双精度)数据可出现在一个表达式中进行混合运算。,类型自动转换规则,高,低,double float,long,unsigned,int char,short,例:int i;float f;double d;long e;,则:10 a+i*f-d/e 合法,转换次序:(1)计算 10a,结果为整数107(2)计算 i*f,结果为double型(3)整数107与i*f的积相加,结果为dou
14、ble型(4)计算 d/e,结果为double型(5)将10a+i*f 的结果与 d/e 的商 相减,结果为double型。,3、8 算术运算符和算术表达式,1、运算符的种类、优先级和结合性 语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使语言功能十分完善。这也是语言的主要特点之一。语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了语言的复杂性。,2.
15、算术运算符和算术表达式,1)基本算术运算符*/%(模除,或称求余)例:7%3 值为 1 5/3=1,-5/3=-1,若参加运算的两个数中有一个为实数,则结果为double型。,求余运算(%)要求参与运算的量均为整型。其结果等于两数相除后的余数。,main()printf(nn%d,%dn,20/7,-20/7);printf(%f,%fn,20.0/7,-20.0/7);参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。本例中,20/7,-20/7的结果均为整型,小数全部舍去。而 20.0/7和-20.0/7由于有实数参与运算,因此结果也为实型。,2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 数据类型 运算 表达式
链接地址:https://www.31ppt.com/p-5285219.html