运算符与表达式

上传人:hao****021 文档编号:245527956 上传时间:2024-10-09 格式:PPT 页数:40 大小:303.49KB
返回 下载 相关 举报
运算符与表达式_第1页
第1页 / 共40页
运算符与表达式_第2页
第2页 / 共40页
运算符与表达式_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,标识符,一、标识符:用来标记,常量,、,变量,、,函数,及,文件,的名字的,字符序列,。,二、标识符的构成规则:,以字母(大小写皆可)或下划线开头,随后可跟若干个(包括,0,个)字母、数字、下划线,标识符的长度各个系统不同,最好不要超过,8,个字符,如:,x,、,y3,、,_imax,、,ELSE,、,X,、,A_to_B,7x,、,int,、,#No,、,bad one,、,re-input,数据(,常量,和,变量,)类型,基本数据类型,构造类型,其它类型,整型,int,字符型,char,实型,枚举类型,单精度型,float,双精度型,double,数 组,结构体,共用体,指针类型,空 类 型,常量的定义及类型,常量:在程序中,常量是指常数或其值不能被改变的量。,常量的类型分为:,整型常量、,实型常量,(,浮点数,),、字符常量、字符串常量,十进制,21,八进制 0,25 (25),8,十六进制,0 x15 (15),16,十进制小数形式,3.14,指数形式,123e7,a,9,+,n,转义字符,“,How do you do?”,、“,china”,程序中的呈现方式:,1,、在函数体中以数据方式呈现,2,、在预定义部分用,define,命令定义的符号常量,符号常量,#,define PI 3.1415926,main(),float r,c,s;,r=2;,c=2*PI*r;,s=PI*r*r;,printf(“c=%f,s=%f”,c,s);,符号常量:用标识符表示的常量,格式:,#define,标识符 常量,三、变量定义的格式:,例如,:int a,b,c;,变量,一、定义:在程序中,其值是可以改变的量称为变量。,二、类型:整型变量、实型变量、字符型变量,注意:变量必须,先定义后使用,。,变量具有三个要素,:,变量名、数据类型、和变量的值,a,变量名(程序命令中),3,变量值,存储单元,(,内存单元,),int a,b,c;,a=10,;,b=20,;,int a=10,b=20,c;,c=30,;,四、初始化,:,变量定义后赋初值。也可以定义的同时进行初始化。,变量的定义和初始化例举说明,例如:,int i;i9;/*,先定义整型变量,i,然后赋初值9*/,float r=1.5;/*,定义实型变量,r,的同时,赋其初值1.5*/,char answer=y;/*,同上,*/,也可以使被定义的变量的一部分赋初值。,如,int a,b,c=5;,表示定义,a,b,c,为整型变量,并且对,c,进行初始化,使,c,值为5。,注意:如对几个变量同时赋初值为5,应写成,int a=5,b=5,c=5,;,或者,int a,b,c;,a=b=c=5;,而不能写成,int a=b=c=5;,变量的数据类型,1、整型变量,类型说明符,数的范围,字节数,基本型,int,-3276832767,即,-2,15,(,2,15,-1,),2,无符号,基本型,unsigned int,065535,即,0,(,2,16,-1,),2,短整量,short int,-3276832767,即,-2,15,(,2,15,-1,),2,无符号,短整型,unsigned short int,065535,即,0,(,2,16,-1,),2,长整型,long int,-21474836482147483647,即,-2,31,(,2,31,-1,),4,无符号,长整型,unsigned long,04294967295,即,0,(,2,32,-1,),4,定义方法:,int a,;,long int b;,unsigned int c;,2、实型变量,类型说明符,比特数,(字节数),有效数字,数的范围,单精度,float,32,(,4,),67,10,-37,10,38,双精度,double,64(8),1516,10,-307,10,308,长双精度,long double,128(16),1819,10,-4931,10,4932,定义方法:,(单精度),float,变量名,(双精度),double,变量名,定义方法:,char,变量名列表,char c1,c2,c3;,初始化,char c1,c2;c1=e;c2=3,类型说明符,字节数,取值范围,char,1,ASCII,码字符集中的字符。,或,0255,3.,字符变量,区别:,a,“,a”,注意:字符串常量不能被赋值到字符变量中,因为字符变量只能容纳一个字符。,例,2,:求表达式,Z=3x+5y-8,的值,(p57),开始,定义所用变量,x,y,z,输入,x,y,的值,计算,z,的值,结束,#include,Main(),int x,y,z;,scanf(“%d%d”,z=3*x+5*y-8;,printf(“%d”,z);,scanf(“,%d%d,”,int x,;,%d,long x;%ld,float x;%f,double x;%f,long double x;%lf,char x%c%d,scanf,函数(输入函数),p52,printf(“Z,的值是:,%d,n”,z);,int x=10,;,%d%o%x,long x=689004;%ld,float x=3.15;%f%e,double x=3.1592678;%f%e,long double x=3.15897;%lf,char x=q%c%d,Printf,函数(输出函数),p47,复习,C,语言中的数据类型分为:,字符类型、整类型、实类型、,指针类型、构造类型和空类型。,C,语言中的数据有常量和变量之分,它们分别属于以上这些类型。,如,:,字符型常量,:a 8 n,字符串型常量:“,beijing”“a”,整型常量:,2 6 12,实型常量:,3.2 1.0 5.2e4,C,语言的变量具有三个要素:变量名、数据类型和变量的值。,变量名是变量的名字,用标识符来标识,变量是用来存储数据的,存储的数据就是变量的值,数据类型决定了变量所占字节的多少。,第二章 数据类型及输入输出,主讲教师:刘永花,本章主要内容,标识符,常量和变量的概念,各种数据类型的常量及变量,变量赋初值,几种基本运算符及其表达式,不同类型数据间的混合运算,运算符,一、运算符:,能够完成某种操作(运算)的符号。,二、根据运算符的运算对象(操作数)的多少,运算符可分为:,单目(一元)运算符,i,+,-,n,双目(二元)运算符,a,+,b d,/,e,三目(三元)运算符,xy,?,x+3,:,y*9(,条件运算符),优先级,运算符,操作数,结合性,1,()-.,左,右,2,!-+-&*,sizeof,1,右,左,3,*/%,2,左,右,4,+-,2,左,右,5,2,左,右,6,=,2,左,右,7,=!=,2,左,右,8,&,2,左,右,9,2,左,右,10,|,2,左,右,11,&,2,左,右,12,|,2,左,右,13,?:,3,右,左,14,=*=/=+=,2,右,左,15,2,左,右,C运算符一览表p25,表达式,一、,C,表达式:,由运算符和,运算对象,构成的式子。,运算对象,可以是常量、变量、函数或,表达式,。,二、表达式的,书写原则,(1,)C,语言的表达式只能采用线性的形式书写。例如:,应写成1/3+,i+j*j*j,应写成(,a+b)/(c+d)*e+f,(2),C,语言的表达式只能使用,C,语言中合法的运算符和操作数,对有些操作,必须调用库函数,完成,而且运算符不能省略。例如:,r,2,应写成3.14159*,r*r。,应写成0.5*,a*b*,sin(,alph,),。,|xy|,应写成,fabs(,xy,),。,y+2,X,应写成,y+,pow(,2,x,),。,#include “math.h”,三、表达式在求值时,遵循以下规则,(1),优先级:,不同优先级的运算符出现在同一表达式时,按运算符的优先级的高低次序执行。,例如:,d=a+b*c;/*,先乘后加*/,(2),结合性:,是指表达式中出现同优先级的操作符时,该先做哪个操作符的规定。,结合方向:“自左向右”、“自右向左”,例如:,a+b-c,从左至右,d=a=b=3,从右至左,四、表达式的,分类,C,语言表达式种类很多,有多种分类方法。我们一般依据运算的特征将表达式分为:,算术表达式,如,a+b*2.0-3.0/5.0,关系表达式,如,x=y,关系表达式可以认为是逻辑表达式的特殊情况,逻辑表达式,如(,x=2)&(xb)?a:b,逗号表达式,如,a=2,b=a*a,c=sqrt(b),五、表达式值的,数据类型,(1)每个表达式都有一个确定的值,因而有确定的数据类型。,(2)表达式的分类和数据类型取决与最后执行的运算符,,如:,34.5+(76),为算术表达式,类型是,double,型,值35.5,34.5+76,为关系表达式,类型是,int,型,值1,算术运算符和算术表达式,1、分类,单目,-,负号运算,+,自增,-,自减,双目,+,加,-,减,*,乘,/,除,%,求余,“/”如果是两个整型数相除,取整;如有一个为实数时,其意义就是实数除,结果为,double,型。,5/2=2 5.0/2.0,=2.5,“%”取余数,只能对整数取余数,不能对浮点数取余数。,运算结果的符号与左操作数相同。,5%2=1 -35%8=-3 35%-8=3,2、自增和自减运算符,格式,:+,i,i+,-i,i-,作用,:是使变量,i,的值加1或减1,相当于,i=i+1,或,i=i-1。,前置,:表示先修改操作数使之增1或减1,然后取修改后的操作数的值作为表达式的值。,后置,:表示在表达式中先取操作数的值作为表达式的值,然后再将操作数值增1或减1。,例如:,j=i+;j,的值为3(首先将,i,的原值赋给,j,,然后,i,自身再加1),j=+i;j,的值为4(,i,自身先加1,然后再将加1后的值赋给,j),main(),int i,j,k;,i=3;,j=i+;,k=+i;,printf(“i=%d,j=%d,k=%dn”,i,j,k);,输出结果,:,i=5,j=3,k=5,2,、,在表达式中如果有2个以上的“+”或“-”连写在一起,则编译器首先识别前面两个+或-为自增或自减操作符。例如:,在使用自增或自减运算符时注意如下几个问题,:,1、自增或自减运算只能用于变量,不能用于常量或表达式;,错误:25+(,i+j)+,例如,-,i+,,,只能理解为,-(,i+),。,因为,(-,i),为表达式,表达式是不能自加自减的。,i,3;,j-i+;,printf(“%d”,j);,int a=1,b=5,c;,c=a+b;,c=a+b;,c=a+b;,正确:,c=6,错误:,+,不是双目运算符,正确:,a+b,输出结果应为,-3,,而不是是,-4,。,3、,表达式中包含有自增、自减运算时,容易出错,务请小心。,如有:,i=1;,则:,类似上面分析,应为3,当然表达式计算完成后,i,的值同样改变为4。,(+i)+(+i)+(+i),的值为多少呢?,是,9(=2+3+4),吗?,计算时先对整个表达式扫描,i,先自增3次,由1234,如此计算结果为4+4+4,等于12。,(,i+)+(i+)+(i+),的值又是多少呢?,赋值运算符和赋值表达式,1、赋值运算符:=,使用方法,:,变量表达式,赋值运算时先计算右边表达式的值,然后将右边表达式的值赋给左边变量,并以此值作为整个赋值表达式的值。,(1)赋值运算的优先级为第14级,次低。,如:,int i;,i=3+5%2;/*,先计算3+5%2,得到4,然后将4 赋给,i*/。,(2)理解以下两赋值表达式的含义:,y5;,n5;,xy;,nn1;,(3)赋值运算符具有“自右向左”的结合性,赋值运算符右边的表达式也可以是赋值表达式:,例如:,ab5;,等同于,a(b=5);,2、复
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!