C#第4章:运算符和表达式

上传人:野鹰 文档编号:26853280 上传时间:2018-01-02 格式:PPT 页数:38 大小:695KB
返回 下载 相关 举报
C#第4章:运算符和表达式_第1页
第1页 / 共38页
C#第4章:运算符和表达式_第2页
第2页 / 共38页
C#第4章:运算符和表达式_第3页
第3页 / 共38页
C#第4章:运算符和表达式_第4页
第4页 / 共38页
C#第4章:运算符和表达式_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《C#第4章:运算符和表达式》由会员分享,可在线阅读,更多相关《C#第4章:运算符和表达式(38页珍藏版)》请在金锄头文库上搜索。

1、第4章 运算符和表达式,表达式由操作数 (operand) 和运算符 (operator) 构成,运算符指示对操作数进行什么样的运算。,运算符按所要操作的操作数的数目来分类,又可分为以下3类。(1) 一元运算符:一元运算符带1个操作数并使用前缀表示法(如x)或后缀表示法(如 x+)。(2) 二元运算符:二元运算符带2个操作数并且全都使用中缀表示法(如 x+y)。(3) 三元运算符:只有一个三元运算符?:,它带3个操作数并使用中缀表示法 (c?x:y)。,4.1 算术运算符,4.1.1 基本算术运算符,1.+ :加法运算符或正值运算符2.- :减法运算符或负值运算符3.* :乘法运算符4./ :

2、除法运算符 除法运算符用于进行除法运算,如5/6。需要注意的是如果除数和被除数都为整数,则结果也为整数,它会把小数舍去(并非四舍五入) 。5.% :模运算符 模运算符用于计算第2个操作数除第1个操作数后的余数。在C#中,所有数值类型都具有预定义的模数运算符。如:5 % 2 的结果为 1-5 % 2 的结果为 -15.0 % 2.2 的结果为 0.6,结果为double值5.0m % 2.2m 的结果为 0.6,结果为decimal值。,4.1 算术运算符,4.1.2 递增、递减运算符,递增(+)、递减(-)运算符是一元运算符,它们的作用是使变量的值增加1或减少1。 无论+i和i+都相当于执行i

3、 = i + 1,但执行的顺序会有所不同。例:a=2;b=a+ 和 a=2;b=+a结果分别为: a=3; a=3; b=2 b=3,4.1 算术运算符,4.1.3 位移运算符,1. 右移运算符 右移运算符和左移运算符类似,它的作用是将第1个操作数向右移动第2个操作数所指定的位数。第2个操作数的类型必须是int。注:C#中规定,在对有符号整数int和long进行右移运算时,如果数字为正数,则高位填充0,如果数字为负数,则高位填充1。例 int a = 45; int b = a 1; Console.WriteLine(b);答案:22,4.1.3 位移运算符,4.1 算术运算符,4.2 逻辑

4、运算符,1. &:逻辑与(逻辑AND)运算符,逻辑与运算符可以用于整型和布尔型数值。对于整型操作数,& 计算操作数的逻辑按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”。,4.2 逻辑运算符,1. &:逻辑与(逻辑AND)运算符,(1) 当操作数为bool值时,当且仅当2个操作数均为true时,结果才为true。true & true 的结果为truetrue & false 的结果为falsefalse & false 的结果为false(2) 当操作数为整型时,则进行位运算,如:100 & 45的结果为36。,4.2 逻辑运算符,2. |:逻辑或(逻辑OR)运算符,| 逻辑或

5、运算符可以用于整型和布尔型数值。对于整型操作数,| 计算操作数的逻辑按位“或”。对于 bool 操作数,| 计算操作数的逻辑“或”。,4.2 逻辑运算符,2. |:逻辑或(逻辑OR)运算符,(1) 当操作数为bool值时,当且仅当2个操作数均为false时,结果才为false,或者说只要有1个操作数为true,结果就为true。true & true 的结果为truetrue & false 的结果为truefalse & false 的结果为false(2) 当操作数为整型时,则进行位运算,如:100 | 45的结果为109,4.2 逻辑运算符,3. :逻辑异或(逻辑XOR)运算符, 逻辑异

6、或运算符可用于整型和bool型数值。对于整型, 将计算操作数的按位“异或”。对于bool操作数, 将计算操作数的逻辑“异或”。,4.2 逻辑运算符,3. :逻辑异或(逻辑XOR)运算符,(1) 当操作数为bool值时,当且仅当只有一个操作数为true时,结果才为true。或者说2个操作数相同时结果为false,2个操作数不同时结果为true。true true 的结果为falsetrue false 的结果为truefalse false 的结果为false(2) 当操作数为整型时,则进行位运算,如:100 45的结果为73。,4.2 逻辑运算符,4. !:逻辑非(逻辑NOT)运算符,!逻辑非

7、运算符只能用于bool型数值,它是对操作数求反的一元运算符。当操作数为 false时返回true。当操作数为true时,返回false。!false的结果为true!true的结果为false,4.2 逻辑运算符,5. :逻辑非(逻辑NOT)运算符,求补运算符和!逻辑非运算符功能相似,可以视为是!逻辑非运算符的整型版。求补运算符只能用于整型数值,它对操作数执行按位求补运算,其效果相当于反转每一位。 求补运算符经常用于设置整数中某个位的值为0。,4.2 逻辑运算符,6. &:条件与(条件AND)运算符,&条件与运算符只能用于bool型数值,它与 & 运算符的功能完全一样,执行其 bool 操作数

8、的逻辑“与”运算。true & true 的结果为truetrue & false 的结果为falsefalse & false 的结果为false & 运算符与 & 运算符的区别在于,& 运算符不能对整型进行计算。另外,对于x & y如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 false)。这被称为“短路”计算。也就是说使用 & 运算符进行条件计算,比使用 & 运算符速度更快些。,4.2 逻辑运算符,7. |:条件或(条件OR)运算符,| 运算符和 & 运算符一样,只能用于bool型数值,它与 | 运算符的功能完全一样,执行其 bool 操作数的逻辑“

9、或”运算。true | true 的结果为truetrue | false 的结果为truefalse | false 的结果为false | 运算符与 | 运算符的区别在于,| 运算符不能对整型进行计算。另外它也会进行“短路”计算,即对于x & y,如果 x 为 true,则不计算 y(因为不论 y 为何值,“或”操作的结果都为 true)。,4.3 赋值运算符和表达式,4.3.1 复合赋值运算符,一方面,为了简化程序,使程序看上去精练;另一方面,为了提高编译效率,C#允许使用复合赋值运算符。在赋值运算符前面加上其他运算符,就可以构成复合赋值运算符。如果在 = 前加一个 + 运算符,就成为复

10、合赋值运算符 +=。例如,可以有:a += 10 等价于 a = a + 10x *= y + 6 等价于 x = x * (y + 6)x %= 5 等价于 x = x % 5,4.3 赋值运算符和表达式,4.3.1 复合赋值运算符,(1) a+=b (其中a为变量,b为表达式)(2) a+= b (将有下画线的 a+ 移到 = 号右侧)(3) a=a+b (在 = 号左侧补上变量名),4.3 赋值运算符和表达式,4.3.1 复合赋值运算符,C#语言规定可以使用10种复合赋值运算符。(1) += :加法赋值运算符。(2) -=:减法赋值运算符。(3) *= :乘法赋值运算符。(4) /= :

11、除法赋值运算符。(5) %= :取模赋值运算符。(6) &= :与赋值运算符。(7) |= :或赋值运算符。(8) = :异或赋值运算符。(9) =:右移赋值运算符。,4.3 赋值运算符和表达式,4.3.2 赋值表达式,由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。它的一般形式为: ,4.4 关系运算符和关系表达式,“关系运算”实际上是“比较运算”,将两个值进行比较,判断比较的结果是否符合给定的条件。例如,x 5是一个关系表达式,大于号“”是一个关系运算符,如果x的值为6,则满足给定的x 5的条件,因此关系表达式的值为“真”(true);如果a的值为3,不满足x 5的条件

12、,则称关系表达式的值为“假”(false)。,4.4 关系运算符和关系表达式,4.4.1 关系运算符,C#语言规定可以使用以下6种关系运算符。 (1) = 等于 (2) != 不等于 (3) 大于 (5) = 大于或等于,4.4 关系运算符和关系表达式,4.4.2 关系表达式,用关系运算符将2个表达式连接起来的式子,称为关系表达式。例如:a 3a * b = c + d(a = 6) (b = 7)a!= ba 3 关系表达式的值是一个bool值(或者说关系表达式返回一个bool值),即true或false。例如,关系表达式6 = 2 的值为false6 = 0 的值为true,4.5 字符和

13、字符串运算符,由于字符可以隐式转换为整型(字符的Unicode编码值),很多时候,字符会被当做一个整型数值来处理。比如:a+ 6 的结果为 103,字符a被隐式转换为97,再与103相加a* b 的结果为 9506,相当于 97*98a b 的结果为 false,4.5 字符和字符串运算符,在C#中,加法运算符(+)又可以作为字符串串联运算符,在字符串运算中,它起到了连接字符串的作用。a+ b 的结果为 ab早上 + 好! 的结果为 早上好! 字符在跟字符串进行加法运算时,也会被转换为字符串进行处理,例如: a+bcdef 的结果为 abcdef,由于 + 运算符可以用于字符串操作,所以 a

14、首先被隐式转换为字符串 a,再与字符串 abcdef 进行连接操作。,4.6 其他运算符,1.点运算符,点运算符用于成员访问。点运算符指定类型或命名空间的成员。 txtName.Text = 张三; /让文本框内显示“张三”这两个字string str = txtName.Text; /把Text属性的值赋给字符串变量str,4.6 其他运算符,2.索引运算符,索引运算符 用于数组、索引器,表示按 内指定的索引去访问数组或索引器中的相应元素的内容。,4.6 其他运算符,3.转换运算符,转换运算符 ( ) 除了用于指定表达式中的运算顺序外,圆括号还用于指定强制转换或类型转换,例如:x + (y + z) 把y + z用圆括号括起来表示先执行y + z。(int)12.3 表示把Double类型的值12.3强制转换为整型,结果为12。(char)97 表示把整数值97强制转换为字符类型,结果为 a。,4.6 其他运算符,4.条件运算符,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号