VisualC#03运算符及表达式.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualC 03 运算 表达式
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,3,章 运算符和表达式,3.1,运算符,运算符是表示各种不同运算的符号,参与运算的数据称为操作数。根据运算符所要求的操作数的个数,运算符分为,“,一元运算符,”,、,“,二元运算符,”,和,“,多元运算符,”,。,一元运算符,:,有一个操作数的运算符,比如,:,“,+,”,运算符、,“,-,”,运算符,二元运算符,:,有两个操作数的运算符,如,:,“,+,”,运算符、,“,-,”,运算符等。,三元运算符,:,有两个操作数的运算符。即,“,?,:,”,运算符,第,3,章 运算符和表达式,3.1,运算符,根据操作数的数据类型,,C#,的运算符又可以分为:,算术运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,条件运算符,其他运算符。,第,3,章 运算符和表达式,3.1,运算符,3.1.1,算术,运算符,C#,的算术运算符及其功能如表,3-1,所示。,表,3-1 C#,的算术运算符,名称,符号,描 述,加法运算符,+,也可称为正值运算符,如,5+8,,,+9,减法运算符,-,也可称为负值运算符,如,8-5,,,-9,乘法运算符,*,如5*8,除法运算符,/,整数相除的结果为整数,如,7/5,的结果为,1,,实数相除的结果为实数,如,7.0/5,的结果为,1.4,。,模运算符,%,也可称为求余运算符。“,%”,运算符两边操作数的数据类型必须是整数,如“,7%3”,的结果为,1,。符号与被除数一致,如,-7%3,的结果为,-1,,,7%-3,的结果为,1,。如果为实数则错误,如,7.0%3,。,自增运算符,+,如i+,自减运算符,-,如-i,第,3,章 运算符和表达式,3.1,运算符,3.1.2,赋值,运算符,C#,的赋值运算符及其功能如表,3-,2,所示。,表,3-2 C#,的,赋值,运算符,类型,符号,描 述,赋值运算符,=,a=1,复合赋值,运算符,+=,a+=1,等于,a=a+1,-=,a-=,1,等于,a=a-1,*=,a*=,1,等于,a=a*1,%=,a%=,1,等于,a=a%1,/=,a/=,1,等于,a=a/1,&=,a&=,1,等于,a=a&1,|=,a|=1,等于,a=a|1,=,a=,1,等于,a=a1,=,a=,1,等于,a=a1,=,a=1,等于,a=a,大于,=,大于等于,=,小于等于,!=,不等于,第,3,章 运算符和表达式,3.1,运算符,3.1.4,逻辑,运算符,C#,的,逻辑,运算符及其功能如表,3-,4,所示。,表,3-4 C#,的逻辑运算符,符号,描 述,&,逻辑与,|,逻辑或,!,逻辑非,第,3,章 运算符和表达式,3.1,运算符,3.1.5,位,运算符,位运算符表示了对操作数进行的位运算。位运算是指进行二进制位的运算。,C#,的,位,运算符及其功能如表,3-,5,所示。,表,3-5 C#,的位运算符,符号,描 述,按位取反,&,按位与,|,按位或,右移,按位异或,第,3,章 运算符和表达式,3.1,运算符,3.1.5,位,运算符,1,、按位取反运算符,(,),“,”,运算符是一元运算符,它对二进制数进行按位取反,即将二进制数的,0,转换为,1,,,1,转换为,0,。例如对整数,1,进行按位取反操作,结果可表示为:,1:00000000 00000000,00000000,00000001,1:11111111,11111111,11111111,11111110,对整数,-1,的取反操作为:,-1,:,11111111,11111111,11111111,11111111,-1,:,00000000,00000000,00000000,00000000,很明显,,1,和,-1,的值不相等,并且,1,和,-1,的值也不相等。取反是位运算,它和数值运算并不相同。,第,3,章 运算符和表达式,3.1.5,位运算符,2,、按位与运算符,(&),“,&,”,运算符是二元运算符,如果两个操作数相应的二进制位都为,1,,那么运算结果为,1,,否则结果为,0,。例如:,1&1,结果为,1,,,0&1,结果为,0,,,0&0,结果为,0,。,3,、按位或运算符,(|),“,|,”,运算符是二元运算符,如果两个操作数相应的二进制位中有一个是,1,,那么相应位的结果就是,1,,否则为,0,。例如:,1|1,的结果为,1,,,1|0,的结果为,1,,,0|0,的结果为,0,。,第,3,章 运算符和表达式,3.1.5,位运算符,4,、按位异或运算符,(),“,”,运算符也称为,XOR,运算符,它是二元运算符。,11 0,00 0,10 1,01 1,第,3,章 运算符和表达式,3.1.5,位运算符,5,、左移运算符,(),:,是二元运算符。,它将数的二进制位全部向左移动指定的位数,并在后面移入的空位填,0,,而前面的高位移出后会被舍弃。如:,对于,72,,就是把整数,7,所有的位向左移动,2,位,即:,7,:,00000000,00000000,00000000,00000111,7),:也,是二元运算符。,它将数的二进制位全部向右移动指定的位数,并在前面移入的空位填,0,,而后面的低位移出后会被舍弃。如:,对于,72,,就是把整数,7,所有的位向右移动,2,位,即:,7,:,00000000,00000000,00000000,00000111,72:00000000,00000000,00000000,00000001,特别注意:,在进行右移运算时,要注意符号位的问题。对于无符号数,右移时左边高位移入,0,。对于有符号的值,如果原来符号位为,0,(该数为正数),则左边也是移入,0,。如果原来符号位是,1,(该数为负数),则左边移入,0,还是,1,,要取决于所用的计,算机系统。有的系统移入,0,,有的移入,1,。移入,0,的称为,“,逻辑右移,”,,移入,1,的称为,“,算术右移,”,。,第,3,章 运算符和表达式,3.1.6,条件,运算符,条件运算符,(?,:),是一个三元运算符。条件运算符的一般格式为:,操作数,1?,操作数,2:,操作数,3,其中,操作数,1,的值必须为逻辑值。进行条件运算时,首先判断问号前面的逻辑值是真还是假,:,如果逻辑值为真,则条件运算表达式等于操作数,2,的值;,如果逻辑值为假,则条件运算表达式等于操作数,3,的值,例如条件表达式:,35?8:9,,由于,35,的值为假,所以表达式的值为,9,。,第,3,章 运算符和表达式,3.1.7,其它运算符,在,C#,中还有对象创建、类型信息、溢出检查运算符,如表,3-6,所示。,表,3-6 C#,的其他运算符,名称,符号,描 述,对象创建,new,创建对象和调用对象的构造函数,类型信息,is,检查操作数或表达式是否为指定类型,sizeof,获得值类型的长度,typeof,获取系统命名空间中的数据类型,溢出检查,checked,进行整数类型数据运算和类型转换时的溢出检查,unchecked,取消对整数类型数据运算和类型转换时的溢出检查,第,3,章 运算符和表达式,3.2,表 达 式,表达式是由操作数和运算符组成的符号序列。根据运算符类型的不同,表达式可以分为,:,算术表达式,赋值表达式,逻辑表达式,关系表达式,条件表达式,表达式在经过一系列运算后会得到一个结果,这就是表达式的结果。结果的类型由参加运算的操作数的数据类型决定。,第,3,章 运算符和表达式,3.2,表 达 式,1,、算术表达式,算术表达式是用算术运算符和括号将操作数(对象)连接起来的符合语法规则的式子,其中操作数可以是常量、变量,也可以是函数。,算术运算的优先级是,:,(,1,),+,(正号)、,-,(负号)、,+,(自加)、,-(,自减)为同级,属于,第一优先级;,(,2,)*、,/,、,%,为第二优先级;,(,3,),+,(加法)、,-,(减法)为第三优先级。,相同级别的优先级,遵循自左向右的顺序进行运算。,第,3,章 运算符和表达式,1,、算术表达式,如,A,的原值为,2,,则,6+A+,相当于,6+(A+),结果为,8,,运算后,A,的值为,3,;如果是针对表达式,6+A,,则相当于,6+(+A),A,先加,1,,为,3,,再与,6,相加得,9,。,第,3,章 运算符和表达式,3.2,表 达 式,2,、赋值表达式,由赋值,运算符将变量和表达式连接起来的式子称为赋值表达式,它的一般格式为:,变量 赋值运算符 表达式,对赋值表达式求解的过程就是将表达式的结果赋给变量。如赋值表达式“,x=10”,,,它的值与被赋值变量的值相同,都是,10,。在赋值表达式中,表达式又可以是赋值表达式。如:,b=(x=10+2),这个赋值表达式的值为,12,。由于赋值运算符的结合性是自右向左的,所以“,b=(x=10+2)”,和“,b=x=10+2”,是等价的。,第,3,章 运算符和表达式,3.2,表 达 式,3,、关系表达式:,用关系运算符将两个表达式连接起来的式子称为关系表达式,。,对关系表达式进行运算,也就是对参加运算的两个操作数进行比较,判断比较的结果是否满足关系运算符所描述的关系。,如果满足,则关系表达式的结果为真。,如果不满足,则结果为假。,关系表达式的值只有两个逻辑值,即真(,true,)或假(,false,)。,第,3,章 运算符和表达式,3.2,表 达 式,3,、关系表达式:,关系运算符的结合方向为自左向右。关系运算符的优先次序为:,、,=,的优先级别相同;,=,和,!=,的优先级别相同,但低于前,4,种,所有关系运算的优先级别都高于赋值运算符而低于算术运算符,。如下面的例子:,程序运行结果为:,True,True,False,第,3,章 运算符和表达式,3.2,表 达 式,4,、逻辑表达式,:,用逻辑运算符将关系表达式或者逻辑值连接起来的式子。,逻辑表达式的值应该是一个逻辑值,它只能取真或假。优先级:,“,逻辑非,”,最高,其次是,“,逻辑与,”,,最后为,“,逻辑或,”,。逻辑与,“,&,”,和逻辑或,“,|,”,的运算优先级低于关系运算符,高于赋值运算符。而逻辑非,“,!,”,的运算优先级高于算术运算符。括号内的表达式运算优先级最高。例如:,!(58)|(7=7|8=4,!False|True&2=7|8=4,True|True&2=7|8=4,True|True&False|True,True|False|True,最终结果:,True,第,3,章 运算符和表达式,3.2,表 达 式,5,、条件表达式,由条件运算符和操作数或表达式组成的式子,称为条件表达式。条件表达式的格式为:,操作数,1?,操作数,2:,操作数,3,其中,,操作数,1,:逻辑表达式,操作数,2”,及“操作数,3,:为任何符合要求的表达式。,当“操作数,1”,为真时,条件表达式的结果为“操作数,1”,的计算值,否则为“操作数,2”,的运算结果值。,第,3,章 运算符和表达式,3.2,表 达 式,5,、条件表达式,如下面的例子:,!(58)?5+13:20+8,结果为:,18,第,3,章 运算符和表达式,3.2,表 达 式,6,、多种运算符组成的表达式的运算,在对包含多种运算符的表达式求值时,如果有括号,先计算括号里面的表达式。在运算时各运算符执行的先后顺序需要根据各运算符的运算优先级和结合性确定。先执行运算优先级别高的运算,然后执行运算优先级别低的,最后得出表达式的结果。运算符的优先顺序,如表,3-7,所示。,表,3-7,运算符从高到低的顺序,第,3,章 运算符和表达式,3.2,表 达 式,6,、多种运算符组成的表达式的运算,当运算符两边的运算数的优先级别一样时,由运算符的结合性来控制运算执行的顺序除了赋值运算符,所有的二元运算符都是左结合,即运算按照从左到右的顺序来执行。赋值运算符和条件表达式运算符是右结合的,即运算按照从右到左的顺序来执行。,第,3,章 运算符和表达式,3.2,表 达 式,6,、多种运算符组成的表达式的运算,例表达式:,2+8+(2+(8-3)*4%3)-4,的计算步骤为:,2+8+(2+5*4%3)-4,2+8+(2+20%3)-4,2+8+(2+2)-4,2+8+4-4,计算结果为,10,,,再比如条件表达式:,39?8:79?8,:(79?8:10,最终结果为,10,,运算顺序是从右到左的。,例,1,表达式,using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace Test01,class Program,static void,Main(string,args,),int,i=927;/,声明一个,int,类型的变量,i,并初始化为,927,int,j=112;/,声明一个,int,类型的变量,j,并初始化为,112,Console.WriteLine(Math.Sin(,i,*i+j*j,);/,表达式作为参数输出,Console.ReadLine,();,例,2,表达式,class Program,static void,Main(string,args,),int,M1=927;/,声明整型变量,M1,,并赋值为,927,int,M2;/,声明整型变量,M2,M2=M1+M1;/M2,的值为,M1,与,M1,相加之后的值,Console.WriteLine(M2.ToString();,decimal R1=(decimal)1112.82;/,声明整型变量,R1,,并赋值为,1112.82,decimal R2=(decimal)9270.81;/,声明整型变量,R2,,并赋值为,9270.81,decimal R3;/,声明整型变量,R3,R3=R2-R1;/R3,的值为,R2,减去,R1,得到的值,Console.WriteLine(R3.ToString();,Console.Read,();,例,3,赋值运算符,using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace Test07,class Program,static void,Main(string,args,),int,i=927;/,声明一个,int,类型的变量,i,并初始化为,927,i,+=,112;/,使用加赋值运算符,Console.WriteLine,(,最后,i,的值为:,0,i);/,输出最后变量,i,的值,Console.ReadLine,();,例,4 is,运算符,using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace Test22,class Program,static void,Main(string,args,),int,i=0;/,声明整型变量,i,bool,result=i is,int,;/,判断,i,是否为整型,Console.WriteLine(result,);/,输出结果,Console.ReadLine,();,例,5 new,运算符,namespace Test24,class Program,static void,Main(string,args,),string,ls,=new string5;/,创建具有,5,个元素的,string,类型数组,ls0=ls1;/,为数组第一项赋值,ls1=ls2;/,为数组第二项赋值,ls2=ls3;/,为数组第三项赋值,ls3=ls4;/,为数组第四项赋值,ls4=ls5;/,为数组第五项赋值,Console.WriteLine(ls0);/,输出数组第一项,Console.WriteLine(ls1);/,输出数组第二项,Console.WriteLine(ls2);/,输出数组第三项,Console.WriteLine(ls3);/,输出数组第四项,Console.WriteLine(ls4);/,输出数组第五项,Console.ReadLine,();,例,5,typeof,运算符,using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace Test25,class Program,static void,Main(string,args,),Type,mytype,=,typeof(int,);/,获取引用类型的信息,Console.WriteLine,(,类型:,0,mytype,);/,输出结果,Console.ReadLine,();,小 结,介绍了,C#,的各种运算符。,介绍了,C#,的各种表达式的类型以及它们运算的优先顺序。,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




VisualC#03运算符及表达式.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13352980.html