第2章C#语言基础-上课资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2.3.3 逻辑运算符 运算符“”和“||”的操作结果与“”和“|”一样,但它们的短路特征使代码的效率更高。所谓短路,就是在运算过程中,如果计算第一个操作数时,就能得知运算结果,就不会再计算第二个操作数,如图2.6所示。 2.3.3 逻辑运算符 例如: int x , y ; bool h,j ; x 1 ; y 2 ; //h x 1 y 0 ;// z的值为false,y的值为1 h x 1 || y 0; j x 1 y 0;// z的值为false,y的值为0 Console.WriteLineh; Console.WriteLinej; 2.3.4 位运算符 位运算符如表?2.7?所示,借助它们可以完成对整型数的某一位的测试、设置,以及对一个数的位置进行移动等操作,这对许多系统级程序设计非常重要。 2.3.4 位运算符 按位与、按位或、按位异或、按位取反运算与前面逻辑运算符的与、或、异或、非的操作含义相同,只不过位运算进一步把这种操作作用到每一个二进制位上,逻辑运算的真或假值对应位运算的位的1或0值。 例如: 2.3.4 位运算符 在实际使用中,按位与运算通常用于将某位置0或测试某位是0还是1;按位或运算通常用于将某位置1。 例如:Console.WriteLine请输入一个整数:;int Number int.ParseConsole.ReadLine; //从控制台输入一个十进制整数Console.WriteLine0的十六进制形式为0x0:X8, Number, Number;int NumberHex Number 2;Console.WriteLineNumberHex;NumberHex NumberHex 0x000000FF;Console.WriteLineNumberHex;Console.ReadLine; 2.3.4 位运算符 按位异或运算有一个特别的属性,假设有两个整型数x和 y,则表达式 x ^ y ^ y值还原为x,利用这个属性可以创建简单的加密程序。例如: char ch1 ‘O’ , ch2 ‘K’ ; //ascii码对照表 int key 0x1f ; Console.WriteLine 明文: + ch1 + ch2 ; ch1 char ch1 ^ key ; ch2 char ch2 ^ key ; Console.WriteLine 密文: + ch1 + ch2 ; ch1 char ch1 ^ key ; ch2 char ch2 ^ key ; Console.WriteLine 解码: + ch1 + ch2 ; 移位运算符有两个:一个左移(),一个右移()。 语法形式: value num_bits value num_bits 2.3.4 位运算符 (1)左移。将给定的value向左移动num_bits位,左边移出的位丢掉,右边空出的位填0。 例如:0x1A 2,左移过程如图2.7(a)所示。 0x1A(十进制数?26)经过左移?2?位运算,结果值是?0x68(十进制数?104),相当于对0x1A的值乘以22。但如果左移丢掉的位含有1,那么左移之后的值可能反而会变小。 例如:0x4A 2,左移过程如图2.7(b)所示。 2.3.4 位运算符 (2)右移。将给定的?value?向右移动?num_bits?位,右边移出的位丢掉,左边空出的位要根据value的情况填0或1。 若value是一个带符号数,则按符号(正数为0,负数为1)补位。 例如:0x77 2,右移过程如图2.8(a)所示。0x8A 2,右移过程如图2.8(b)所示。 若?value?是一个无符号数,左边空出的位补0。右移运算符的作用相当于将value的值整除以 。 2.3.4 位运算符 例如:0x8AU 2,右移过程如图2.9所示。 2.3.5 赋值运算符 1.简单赋值运算符 语法形式: var exp ?运算符左边的称为左值,右边的称为右值。 2.复合赋值运算符 在进行如x x +3 运算时,C#提供了一种简化方式:x +3,这就是复合赋值运算。 语法形式: var op exp // op 表示某一运算符 ?等价的意义是: var var op exp 2.3.5 赋值运算符 除了关系运算符,一般二元运算符都可以和赋值运算符在一起构成复合赋值运算,如表2.8所示。 2.3.6 条件运算符 语法形式: exp1 ? exp2 : exp3 首先计算exp1的值,如果其值为true,则计算exp2值,这个值就是整个表达式的结果;否则,取exp3的值

文档评论(0)

a1166671 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档