c语言运算符和表达式.ppt
《c语言运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《c语言运算符和表达式.ppt(69页珍藏版)》请在咨信网上搜索。
1、1内容回顾l单个字符的个字符的输入和入和输出函数出函数v字符字符输出函数出函数putchar(c)v字符字符输入函数入函数getchar()l格式化格式化输入入(scanf)输出出(printf)函数的用法函数的用法整型数据的整型数据的输入入输出出(%d,%o,%x,%u)实型数据的型数据的输入入输出出(%f,%e,%lf,%le)字符型数据的字符型数据的输入入输出出(%c)l 常用函数常用函数(包含包含头文件文件,函数原型函数原型)第三章3本章内容4运算符简介lC语言中,数据是程序言中,数据是程序处理的理的对象,运算是象,运算是对数据数据进行加工的行加工的过程,体程,体现数据之数据之间的各的
2、各种不同运算关系的符号就称种不同运算关系的符号就称为运算符运算符。lC语言中,除了控制言中,除了控制语句和句和输入入输出以外的出以外的几乎所有的基本操作都是用运算符来几乎所有的基本操作都是用运算符来实现的。的。例如:例如:赋值操作的功能,在操作的功能,在C语言中是用言中是用赋值运算符运算符“=”来来实现的。的。5lC语言的运算符按照其功能分言的运算符按照其功能分为以下以下13类:算算术运算符运算符+-*/%+-下下标运算符运算符 关系运算符关系运算符 !分量运算符分量运算符 -逻辑运算符运算符!|强制制类型型转换运算符运算符(类型)赋值运算符运算符 及其扩展赋值运算符 求字求字节数运算数运算
3、sizeof 条件运算符条件运算符?:位运算符位运算符|逗号运算符逗号运算符,指指针运算符运算符 *其他运算符其他运算符 如函数调用运算符()6学习运算符,主要掌握以下4点:运算符操作的运算符操作的数据的数据的类型。型。不同的运算符操不同的运算符操作的数据的作的数据的类型不一定相同;而且每种运算型不一定相同;而且每种运算符操作的数据的符操作的数据的类型是相型是相对固定的。固定的。运算符操作的运算符操作的数据的个数。数据的个数。不同的运算符操不同的运算符操作的数据的个数不一定相同;根据运算符作的数据的个数不一定相同;根据运算符连接运算接运算对象的个数,一般分象的个数,一般分为单目运算符目运算符(
4、如(如+、-)、双目运算符(如)、双目运算符(如*/%)和)和三目运算符(如?:)。三目运算符(如?:)。7运算符在整个运算符系运算符在整个运算符系统中的中的优先先级。优先先级是指在运算是指在运算对象的左右都有运算符象的左右都有运算符时运算的先后次序运算的先后次序。运算。运算对象先做象先做优先先级高高的运算。如:的运算。如:*/比比+-优先先级高。高。运算符操作的数据的运算符操作的数据的结合性。合性。运算符的运算符的结合性合性规定了在表达式求解定了在表达式求解过程中,若运算程中,若运算对象其左右运算符象其左右运算符优先先级相同相同时的的运算方运算方向向。结合性有两种:左合性有两种:左结合(从左
5、到右合(从左到右计算)和右算)和右结合(从右到左合(从右到左计算)。算)。8l表达式:表达式:用用运算符运算符将将运算运算对象象(常量、常量、变量、函数量、函数等)等)连接而成的式子。接而成的式子。如如a*b/c-1.5+al表达式使用表达式使用时应注意注意表达式的表达式的值及及类型型。a.不同不同类型的运算符所表示的表达式型的运算符所表示的表达式类型也是型也是不同的。表达式一般有不同的。表达式一般有算算术表达式表达式、赋值表达表达式式、关系表达式关系表达式、逻辑表达式表达式、逗号表达式逗号表达式、条件表达式条件表达式等表达式。等表达式。b.表达式表达式虽然有各种然有各种类型,但它型,但它总是
6、是有确定的有确定的值的,根据运算符的的,根据运算符的优先先级和和结合性合性进行行计算。算。9l表达式表达式书写的一般写的一般规则:表达式必表达式必须写在同一行上,只能使用写在同一行上,只能使用圆括号括号,且左右括号个数要相同,有多且左右括号个数要相同,有多层括号括号时内内层括号中的运算括号中的运算优先。先。如:写作:1.0/2*(a*x+(a+x)/4/x)n例:写出下列代数式的C算术表达式 1+(4+x)1/3x(1+pow(4+x),1.0/3)*xy/(2*sqrt(x*x+y*y)103.1 算术表达式l(一一)基本算基本算术运算符:运算符:(加法运算或正号运算符)(加法运算或正号运算
7、符)(减法运算或(减法运算或负号运算符)号运算符)*(乘法运算符)(乘法运算符)(除法运算符)(除法运算符)%(求余运算符,或称模运算符)(求余运算符,或称模运算符)+自增运算符自增运算符-自减运算符自减运算符3.1.1算术运算符11算算术运算符的运算符的优先先级和和结合性合性单目+-+-双目*/%双目+-高低从右向左从左向右如:-5+3%2相当于(-5)+(3%2)结果为-4(优先级)3*5%3相当于(3*5)%3结果为0(结合性)12l注意注意:1)+、-、*、/与数学中的运算与数学中的运算顺序相似,先乘序相似,先乘除,后加减,从左到右。除,后加减,从左到右。2)求余运算符)求余运算符%要
8、求两个运算要求两个运算对象均象均为整型整型数据数据。余数。余数符号与符号与左左边的运算的运算对象符号相同。象符号相同。如:如:2%3为2,-9%5为-4,9%-5为4。3)%、/运算符的运算符的右操作数右操作数不可以不可以为0。4)字符)字符类型的数据以型的数据以该字符的字符的ASCII码参加运参加运算。算。如:如:a+2相当于相当于97+2。135)/运算符,操作数的运算符,操作数的类型不同,功能不同。型不同,功能不同。当两个操作数均当两个操作数均为整型整型时,其,其结果的果的类型也型也为整整型。型。a.若除数和被除数都若除数和被除数都为正正值,结果果为正,直接舍正,直接舍去小数部分,如:去
9、小数部分,如:5/2的的结果果为2。若两个操作数中有一个若两个操作数中有一个为实数数,则结果是果是 double型型。因因为所有所有实数都按数都按double型型进行运算。行运算。如:如:5.0/2的的结果果2.5.b.若除数或被除数中有一个为负值,则舍入的方向是不固定的。如:-5/3=?多数机器采取“向零取整”的方法,即5/3=1,-5/3=-1,取整后向零靠拢。14整除和求余数的特殊用处123%10的结果是的结果是3;12%10的结果是的结果是2;123/10,结果是,结果是12;12/10的结果是的结果是1;通过整除和求余数交叉应用,可以分解通过整除和求余数交叉应用,可以分解一个整数。这
10、个技巧以后我们要经常使一个整数。这个技巧以后我们要经常使用。用。l小程序:输入一个三位数的整数,请分离出各位,十位,百位,并输出。15(二)自增、自减运算符(二)自增、自减运算符u运算符号运算符号:+(自增运算符)(自增运算符)-(自减运算符)(自减运算符)u功能功能:使使变量的量的值增增 1或减或减 1。u用途:常用于循用途:常用于循环语句中使循句中使循环变量自量自动加或减。加或减。也用于指也用于指针变量,使指量,使指针指向下或上一个地指向下或上一个地址。址。u操作数:只能是操作数:只能是变量量不能是常量、表达式和函数。不能是常量、表达式和函数。如:如:i+,+i,i-,-i是正确的。是正确
11、的。+8,+sin(4),(,(x+y)+是是错误的。的。u结合性合性:自增(减)运算符的自增(减)运算符的结合性是合性是右右结合合。u优先先级:单目运算符,目运算符,优先先级高于算高于算术运算符,运算符,低于括号低于括号类运算符。运算符。16l+、-作用于作用于变量的形式有两种:量的形式有两种:前前缀方式方式(prefix):运算符:运算符 变量,如量,如+i、-i;后后缀方式方式(postfix):变量量 运算符,如运算符,如i+、i-;l,:在使用之前,先使,:在使用之前,先使的的值加(减)加(减)l,:在使用之后,再使,:在使用之后,再使的的值加(减)加(减)17自增、自减运算取自增、
12、自减运算取变量的量的值作作为表达式的表达式的值.如如:设n=10;+n:1)n=n+1=11;2)取取n值11作作为表达式表达式+n的的值.n+:1)取取n值10作作为表达式表达式n+的的值;2)n=n+1=11.例子例子:inti,k;i=2;k=+i;i=2;k=i+;i=3i=3k=3k=2k=ii=i+1i=i+1k=i18l例3.1l#includelvoidmain()llinta=2,b=2,x,y;lx=-a+2;/前缀运算ly=b+-1;/后缀运算lprintf(x=%dy=%dn,x,y);lprintf(a=%db=%dn,a,b);lv运行结果:x3 y=1 a=1 b
13、=3a=a-1,x=a+2y=b-1,b=b+119/连续的-表示前两个是对a的自减,最后的-表示减法运算例3.2#includevoidmain()inta=2,b=2,c;c=+a+b-;/变量a为前缀运算,b为后缀运算printf(a=%d,b=%d,c=%dn,a,b,c);a=b=2;c=-a-b;printf(a=%d,b=%d,c=%dn,a,b,c);a=b=2;printf(a=%dn,a+);printf(b=%dn,+b);c=a+b;/a、b增1后的值参加运算printf(“c=%dn”,c);a=a+1,c=a+b,b=b-1c=-(a-)-bc=-a-b,a=a-1
14、c=(a+1)+(b+1)b=b+1输出:a=3,b=1,c=5输出:a=1,b=2,c=-4输出:c=6输出:a=2输出:b=3说明:C语言处理时是从左到右取最多个数的符号作为一个合法的运算符。203.1.2 算算术表达式表达式:用算用算术运算符和括号将运算运算符和括号将运算对象象(也称操作数)也称操作数)连接起来的、符合接起来的、符合语法法规则的式子,称的式子,称为算算术表达式。运算表达式。运算对象包括常量、象包括常量、变量、函数量、函数等。等。例如例如:*.5a是一个合法的表达式。是一个合法的表达式。213.2.1赋值运算符运算符1)运算符:)运算符:=2)作用:将一个数据或表达式的)作
15、用:将一个数据或表达式的值赋给一个一个变量。量。如:如:/表示把常量表示把常量3赋给变量量ay=a*sin(z)/表示把表达式表示把表达式a*sin(z)的的结果求出来再果求出来再赋给一个一个变量量y注:注:赋值运算符与数学中的等号不同,运算符与数学中的等号不同,赋值运算运算符求解后能符求解后能够得到一个运算得到一个运算结果。果。3)赋值运算符的运算符的优先先级和和结合性:合性:优先先级较低,低,结合性是从右向左。合性是从右向左。如:如:x=y=3;3.2 赋值表达式223.2.2赋值表达式表达式变量量表达式表达式计算算赋值运算符右运算符右侧表达式表达式的的值将将赋值运算符右运算符右侧表达式表
16、达式的的值赋给左左侧的的变量量将将赋值运算符左运算符左侧的的变量量的的值作作为表达式的表达式的值例例:n=2;n=n+1;23对赋值表达式的表达式的说明:明:a.赋值运算符运算符左左侧只能是只能是变量量,不可以是表达,不可以是表达式、函数或常式、函数或常变量也不能作量也不能作为左左值。b.赋值表达式中右表达式中右边的的表达式又可以是表达式又可以是赋值表表达式达式。例:例:a=b=7赋值表达式中含有多个表达式中含有多个赋值运算符运算符时,从右向从右向左依次左依次赋值。c.赋值表达式可以以表达式形式出表达式可以以表达式形式出现在某些在某些语句(如句(如输出出语句、循句、循环语句等)中。句等)中。如
17、:如:printf(%d,a=b);243.2.3赋值语句句l变量量=表达式表达式;功能:先功能:先计算表达式的算表达式的值,然后将,然后将值赋给变量。量。例例:inta,b,c;floatx,y;x=sqrt(7);y=x+4;a=b=c=6;25.3.2.4复合复合赋值运算符运算符双目运算符与赋值运算符的合成或简化,称为复合赋值运算符。语言规定可以使用种复合赋值运算符:,*,|复合赋值运算符的优先级和结合性同赋值运算符。26变量双目运算符=表达式复合复合赋值运算符的运算符的功能功能:先将变量与赋值运算先将变量与赋值运算符后面的表达式进行一次双目运算符所指定的符后面的表达式进行一次双目运算符
18、所指定的运算,然后再将运算结果赋给变量。运算,然后再将运算结果赋给变量。例如例如:等价于等价于*等价于等价于*()()等价于等价于以“”为例来说明,它相当于使进行一次自加()的操作。即先使加,再赋给。27注意:如果=右边是包含若干项的表达式,则相当于它有括号。如:x%=y+3x%=(y+3)|_x=x%(y+3)(不要错写成x=x%y+3)复合赋值运算表达式:变量双目运算符=表达式是个整体步骤:1)左边变量的当前值与右边整个表达式进行相应运算。2)把1)的结果赋给左边的变量。3)赋值表达式的值是左边变量的值。28例例3.3赋值运算符的使用赋值运算符的使用#includevoidmain()in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 运算 表达式
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。