C#中的运算符与表达式.ppt
三大运算符和表达式,C#语言,2,目录,5.类型转换与优先级,4.表达式与其他运算符,3.逻辑运算符,2.关系运算符,1.算数运算符,3,1.算术运算符 二元运算符,算术,一元,二元,操作数,操作数,运算符,二元运算符,+,-,*,/,%,4,一元运算符(单目运算符)增1运算符:+减1运算符:-,1.算术运算符 一元运算符,5,如果 int a,b;a=8;b=+a 先a=a+1 后b=a a=9,b=9b=a+先b=a 后a=a+1 b=8,a=9,1.算术运算符 一元运算符示例,6,目录,5.类型转换与优先级,4.表达式与其他运算符,3.逻辑运算符,2.关系运算符,1.算数运算符,7,2.关系运算符,操作数,关系运算符,关系表达式的计算结果=逻辑值(真或假)在C#语言中,false表示“假”,true表示“真”,操作数,关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。,8,关系运算符,2.关系运算符,!=,=,=,=,操作数1,操作数2,9,2.关系运算符,num1=10;num2=5;num3=20;num4=10;(num1+num2)(num3 num4),num=40;num/10!=2,gender=m,真,假,=,如果 gender=f,如果 gender=m,注意:所有符号及标点都要用英文的,10,目录,5.类型转换与优先级,4.表达式与其他运算符,3.逻辑运算符,2.关系运算符,1.算数运算符,11,3.逻辑运算符,逻辑运算符用于连接一个或多个条件,判断这些条件是否成立逻辑运算符的类型为:,12,3.逻辑运算符-逻辑“与”运算符&,所有学科及格,考勤率达到 75%,留级,留级,留级,升级,Yes,No,No,No,No,Yes,Yes,Yes,13,3.逻辑运算符-逻辑“与”运算符&,14,3.逻辑运算符-逻辑“或”运算符|,无法支付,可支付,可支付,可支付,Yes,No,No,No,No,Yes,Yes,Yes,购物帐单,信用卡,15,3.逻辑运算符-逻辑“或”运算符|,16,3.逻辑运算符-逻辑“非”运算符!,不带伞,带伞,No,Yes,天气 NOT 阴天,17,3.逻辑运算符-逻辑“非”运算符!,18,3.逻辑运算符-例子,using System;public class Test public static void Main(String s)bool flag;flag=5 6;Console.WriteLine(56 结果=0,flag);,19,3.逻辑运算符-总结,&,只有当两个条件都为真时才执行操作,只要任何一个条件为真时就执行操作,对原条件取反,即:如果原条件为假时就执行操作,|,!,20,目录,5.类型转换与优先级,4.表达式与其他运算符,3.逻辑运算符,2.关系运算符,1.算数运算符,21,4.表达式与其他运算符,Sum,=,num1,+,num2,表达式,22,Z=(X*2)+(5 Y),4.表达式与其他运算符,23,4.表达式与其他运算符,表达式由操作数和运算符的组合而成表达式中的操作数可以是变量、常量或者子 表达式运算符的主要类型有:算术运算符 赋值运算符 关系运算符 逻辑运算符,24,变量 表达式;,4.表达式与其他运算符-赋值,Height=177.5;Weight=78;Gender=m;x=a+b;w=sin(a)+sin(b);y=i+-j;,最简单的运算符:,=,25,4.表达式与其他运算符-复合赋值运算符,26,4.表达式与其他运算符-sizeof 运算符,示例:,sizeof(int);,float num;sizeof(num);,使用 sizeof 运算符可以获得数据类型占用内存空间的大小。其一般形式为:sizeof(type_name)sizeof 运算符的结果以字节为单位显示,27,目录,5.类型转换与优先级,4.表达式与其他运算符,3.逻辑运算符,2.关系运算符,1.算数运算符,28,5.类型转换与优先级-优先级,当我们遇到一个复杂表达式时,需要确定先执行哪种运算,此时就需要考虑运算符的优先级,z=x+y g*h*(t/20)+65 r%2,先算哪部分加?减?取余?除?括号?,要解决此问题,需要使用:运算符优先级,29,5.类型转换与优先级-优先级,30,5.类型转换与优先级-优先级,31,5.类型转换与优先级-类型转换,运算符的操作数属于不同的数据类型,运算时通常会将这些操作数转换为同一类型,char ch;int i;float f;double d;result=(ch/i)+(f*d)-(f+i);int double float double double,32,5.类型转换与优先级-转换,通过使用转换可以将一个表达式强制转换成某一种类型。转换的通用语法是:(type)变量名 type 任意有效的 c#数据类型示例:,经过赋值运算后,(int)f 返回的整型值重新转换为浮点数,f 本身的值不变。,float x,f;f=3.14159;x=(int)f;,33,5.类型转换与优先级-类型转换,自动类型转换(隐式)原则:把表示范围小的类型的值转换到表示范围大的类型的值 sbyte,short int long float double强制类型转换语法:(类型名)变量或数值 例如:int a=5,b=3;float qu=(float)a/b;,34,5.类型转换与优先级-类型转换,关于整型与字符串之间的转换方法 数值类型转字符串类型:使用整型的 toString()方法。字符串转数值类型:使用对应数值类型的 Parse()方法。,35,总结,表达式是操作数和运算符的集合赋值运算符的语法如下:variable=expression关系运算符运用测试两个操作数之间的关系在复杂表达式中,通过运算符的优先级确定各种运算符的执行顺序,