基本数据类型运算符及表达式.ppt

上传人:牧羊曲112 文档编号:6263545 上传时间:2023-10-11 格式:PPT 页数:43 大小:363KB
返回 下载 相关 举报
基本数据类型运算符及表达式.ppt_第1页
第1页 / 共43页
基本数据类型运算符及表达式.ppt_第2页
第2页 / 共43页
基本数据类型运算符及表达式.ppt_第3页
第3页 / 共43页
基本数据类型运算符及表达式.ppt_第4页
第4页 / 共43页
基本数据类型运算符及表达式.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基本数据类型运算符及表达式.ppt》由会员分享,可在线阅读,更多相关《基本数据类型运算符及表达式.ppt(43页珍藏版)》请在三一办公上搜索。

1、第2章 基本数据类型、运算符及表达式,2.1 的基本数据类型,2.2 常量与变量,常量,程序运行的过程中,值不能被改变的量。,含义:,分类:,字面常量和符号常量。,其中,字面常量又分为:整型常量、实型常量、字符型常量(字符常量和字符串常量),字面常量 整型常量,形式:,(1)十进制整型常量:由0至9的数字组成,没有前缀,不能以0起头。,(2)八进制整型常量:以0(数字0)为前缀,其后由0到7的数字组成,没有小数部分。,(3)十六进制整型常量:以0 x或0X为前缀,其后由0到9的数字和A到F(大小写均可)字母组成,没有小数部分,整型常量中的长整型数据可用L(或小写字母l)作后缀表示。,十进制、八

2、进制和十六进制三种形式,字面常量 实型常量,构成:,由整数部分和小数部分组成的,只有十进制方式。,形式:,(1)定点数形式:,它由数字和小数点组成。整数和小数部分可以省去一个,但不可两者都省,而且小数点不能省。,如:1.234,.123,123.,0.0等。,(2)指数形式(或称科学表示法):,它是用整数或定点数后加e(或E)和指数来表示;指数可正可负必须为整数,字母e之前必须有数字。,如:1.234e3,12.34e2 均合法表示 1.234*103;,而 e3,1e2.3,.e3,e 均不合法。,实型常量的后缀用F/f 表示单精度型。用L/l表示长双精度型。,例:,下列四个选项中,均是合法

3、的实型常量的是 A、+2e-1-3e4.5 5e3 B、-.91.2e-0-7.e8 C、123e+1 4567+2e-1 D、8e-4-5e+2-e3,B,字面常量 字符型常量,分类:,字符常量和字符串常量两类。,1.字符常量:,用一对单引号括起来的一个字符。,如:a、A、3、?等。,特殊的转义字符常量:,是将反斜扛()后面的字符转换成另外的意思。,2.字符串常量:,用一对双引号括起来的字符序列。,如:The C Programming Language,字符串中可以是任一字符,包括转义字符。当字符串本身包括双引号时,必须用转义字符“表示,从而防止二义性的解释。,字面常量 字符型常量,如:U

4、NIX SYSTEM,字符串常量用连续的存储单元存储,每个字符占一个字节,且在末尾自动加一个字符串结束符 0。注意:a 和 a的差别,例:,下列不合法的字符常量是 A、n B、ab C、101 D、0,B,符号常量,用符号常量标识符来代表一个常量。,如:用PI代表圆周率,即 3.1415926。,优点:,含义清楚,增加可读性。,在需要改变一个常量是能做到“一改全改”,增强了可维护性。,用编译预处理命令中的宏定义来定义符号常量。,宏定义格式:,#define 标识符 字符序列,每行定义一个宏定义,句末无分号。,符号常量定义格式:,#define 符号常量标识符 常量,如:#define PI 3

5、.1415926,变量,含义:,程序运行过程中可以改变的量,基本要素:,变量名、类型、值。,变量名:,用标识符来表示。,变量的定义,格式:,变量类型 变量名表列;,变量类型:存储数据的类型,声明基本类型的关键字有:,int、float、char、double,可进行修饰扩充的有:,short、long、unsigned,定义类型有三个含义:,1、数学类型,2、存储空间,3、取值范围,例:,下面四个选项中,不正确的变量说明是_A.unsigned int ui;B.short int g;C.double int A;D.int p,j,k;,C,变量名表列:,为同一类型变量名的列表,各变量名之

6、间用逗号隔开。,int m,M,n;,/*定义m,M,n为存放整型数据的整型变量*/,float a,b,c;,/*定义a,b,c为存放单精度型数据的实型变量*/,char c1,c2;,/*定义c1,c2为存放字符型数据的字符型变量*/,注意:,变量必须是先定义,后使用;,定义变量的声明语句必须放在本程序任何可执行 语句之前或所在函数的可执行语句之前;,在同一函数内,不能定义同名变量,而在不同函 数中可以定义同名变量,互不影响。,变量除了具有数据类型外,还有存储类型,变量 的作用域与生存期等。,变量的值,含义:,存储的数据值。,给变量赋值的途径:,1、用赋值运算符“”给变量赋初值,a、在定义

7、变量的同时直接赋值;,如:int a=3;float f=3.56;,b、先定义变量,再赋值;,如:int a;float f;a=3;f=3.45;,c、可以给变量部分赋值,如:int a,b,c=3;,2、用scanf()从键盘读入数据;,如:int i;scanf(“%d”,3、在程序执行中,用赋值语句动态 的改变变量的值。,如:int i=9;int j;j=i-1;j=j+1;,注意:,若对变量只定义而没有赋值,则该变量的值是随机的。,2.4 运算符及表达式,1、按功能分为:,(1)算术运算符+-*/%+-(2)关系运算符=&(5)赋值运算符=复合赋值运算符(6)条件运算符?:,(7

8、)逗号运算符,(8)指针运算符*和&(9)求字节数运算符 sizeof(10)强制类型转换运算符(类型标识符)(11)分量运算符(12)下标运算符(13)其它 函数名(),2.运算符按其连接运算对象的个数可分为:,(1)单目运算符(仅对一个运算对象进行操作)!+-(取负号)(类型标识符)*&sizeof,(2)双目运算符(该运算符连接两个运算对象)+-*/%=!=&|&|=复合赋值运算符,(3)三目运算符(该运算符连接三个运算对象)?:,(4)其它()-,3.按优先级及结合性,优先级:,标志运算符在表达式中的运算顺序。,结合性:,优先级相同时,按从左到右或从右到左的结合顺序确定运算符的计算顺序

9、。,分为二类:,(1)从右到左:单目、三目和赋值运算符,(2)从左到右:其它运算符,算术运算符与算术表达式,1.算术运算符,单目运算符:-(取负)、+(取正),双目算术运算符:+(加)、-(减)、*(乘)、/(除)、%(余数),说明:,1、整数相除结果为整数,即只取商的整数部分;,2、%只适合整数运算,自增与自减运算符(+与-),说明:,单目运算符,操作对象只有一个且只能是单个变量。,功能:,(1)取由该运算符构成的表达式的值,(2)实现变量(即运算对象)自身的加1或减1运算。,方式:,前缀方式:运算符在变量的前面,如+a或-a 先自增/自减,再引用;,后缀方式:运算符在变量的后面,如a+或a

10、-先引用,再自增/自减。,例:,main()int a=3;int b=+a,c;printf(”%d%dn”,a,b);c=a+;printf(”%d%dn”,a,c);,结果:4 4 5 4,#include main()char c1=A,c2,c3;int i=5,j,k;c2=c1+;c3=+c1;j=i-;k=-i;printf(c1=%c,c2=%c,c3=%cn,c1,c2,c3);printf(i=%d,j=%d,k=%dn,i,j,k);,结果:c1=C,c2=A,c3=C i=3,j=5,k=3,2、算术表达式,用算术运算符将运算对象连接起来,符合语法规则,并能说明运算过

11、程的式子。,赋值运算符与赋值表达式,赋值运算符:=,一般形式:变量=表达式,含义:将赋值号右边表达式的值赋给左边的变量。,如:x=3;y=(x+2)*3;,注意:,(1)先计算赋值运算符右侧表达式,再赋值。,(2)赋值运算符的左侧必须是一个变量。,如:3=x;(x+y)=5;/*都错误*/,复合赋值运算符,一般形式:,变量=变量 运算符 表达式;,缩写式:,变量 运算符=表达式;,如:,x=x+y;,x+=y;,x=x*(y+z);,x*=y+z;,复合赋值运算符共有10种:,+=(加赋值)-=(减赋值)*=(乘赋值)/=(除赋值)%=(求余赋值)&=(位与赋值)|=(按位或赋值)=(按位异或

12、赋值)=(右移位赋值),例:,#include main()int a;float b;a*=a/=(a=7)-(b=4.5);printf(a=%d,b=%fn,a,b);,结果:a=4,b=4.500000,例:int m=7,n=12;则能得到值为3的表达式是_ A.n%=(m%=5)B.n%=(m-m%5)C.n%=m-m%5 D.(n%=m)-(m%=5),D,逗号运算符和逗号表达式,一般形式:,表达式1,表达式2,表达式n,例:z=(y=(x=4*5,x*5),x+25),结果:x=20,y=100,z=45,综合例题:,int k=7;float a=2.5,b=4.7;则表达式

13、 a+k%3*(int)(a+b)%2/4的值_A.2.5 B.2.75 C.3.5 D.0.0,A,各类数值型数据间的混合运算与类型转换,语言规定:,相同类型数据直接进行运算,运算结果是原数据类型;不同类型的数据先转换成同一类型,然后才可进行运算。,两种转换形式:,(1)隐含转换(隐式转换);(2)强制转换(显式转换),隐含转换,1、运算转换不同类型数据混合运算时,2、赋值转换把一个值赋给与其类型不同的变量时,3、输出转换输出时转换成指定的输出格式,4、函数调用转换实参与形参类型不一致时转换,由语言系统自动完成的,转换规则:,注意:,(1)转换按箭头方向不是逐步进行,而是一步到位。,(2)类

14、型转换只影响表达式结果,不改变原变量的类型。,例 char ch;int i;float f;double d;,ch/i+f*d-(f+i),int,double,double,double,double,例:以下表达式结果为整数的是_(设int i;char c;float f;)A.i+f B.i*c C.c+f D.i+c+f,B,强制转换,通过强制类型转换运算符将表达式值转换为指定类型。,一般形式:,(类型标识符)表达式,如:(int)(a+b*c-d/e)%f,例:main()float x1,x2;x1=5.1/1.7;x2=5.1/(int)1.7;printf(“x1=%f,

15、x2=%f”,x1,x2);,结果:x1=3.000000,x2=5.100000,注意:,1、类型表示符两侧的括号不能省略;,2、转换时,得到的是一个所需类型的中间 变量,原变量的类型未发生变化。,作 业,1、阅读程序,写出输出结果。main()int x,y,z;x=y=2;z=3;y=x+1;printf(”%d,%dt”,x,y);y=+x1;printf(”%d,%dt”,x,y);y=z-+1;printf(”%d,%dt”,z,y);y=-z+1;printf(”%d,%dt”,z,y);,2、计算下列表达式的值。(1)52%10/2+4.0*(8/5)(2)20.0*(3/6*10.0)(3)(int)(13.7+25.6)/4%4,P25.2.2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号