使用C#进行面向对象编程第三章语句运算符和表达式.ppt_第1页
使用C#进行面向对象编程第三章语句运算符和表达式.ppt_第2页
使用C#进行面向对象编程第三章语句运算符和表达式.ppt_第3页
使用C#进行面向对象编程第三章语句运算符和表达式.ppt_第4页
使用C#进行面向对象编程第三章语句运算符和表达式.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

n对上一章的加法计算器做改进(使用方法 做加法) 1 第三章 语句、运算符和表达式 2 n本章内容 语句 运算符 表达式 3 1 语句 n语句一般以分号终止 n由括起来的一系列语句构成语句块 4 2 运算符及表达式 C#可以对各种类型的数据进行加工,这 种加工过程称为运算。 其中表示各种不同运算的符号称为运算符 ,参与运算的数据称为操作数。 操作数和运算符按一定语法形式组成的符 号序列称为表达式。每个表达式经过运算后都 会产生一个确定的值。 5 运算符按其功能分为七类: n1. 算术运算符 + 、-、 *、 /、%、 +、 - n2. 关系运算符 、=、 、 , = , op2如果op1大于op2,则该则该 关系表达式结结果为为真,否 则结则结 果为为假 op1=op2如果op1大于等于op2,则该则该 关系表达式结结果为为真 ,否则结则结 果为为假 op1 0) ; 19 2.4 赋值运算符 简单赋值运算符 复合赋值运算符 20 (1)简单赋值运算符 = 将等号右边的表达式的值赋给等号左边的变量 例如: int c,d; c=1; d=c+10; 21 (2)复合赋值运算符 +=、-=、*=、/=、%= 等 c += a; /c = c +a; c -= a; /c = c -a; c *= a; /c = c * a; 22 2.5 位运算符 位运算符主要有 sbyte j =-0x73; sbyte k=(sbyte)(i System.Console.WriteLine(“0x0:x”,k); /显示k的补码的16 进制表示 System.Console.WriteLine(k); 00111010 10001101 按位与=00001000(补码) 如果i=-0x3a,则结果是什么? 23 op1|op2返回op1和op2的二进进制补码补码 表示 的按位或操作的结结果 sbyte i=0x3a; sbyte j =-0x73; sbyte k=(sbyte)(i|j); System.Console.WriteLine(“0x0:x“,k); System.Console.WriteLine(k); 00111010 10001101 按位或=10111111(补码) 输出0xbf -65 24 op1op2返回op1和op2的二进进制补码补码 表示 的按位异或操作的结结果 sbyte i=0x3a; sbyte j =-0x73; sbyte k=(sbyte)(ij); System.Console.WriteLine(“0x0:x“,k); System.Console.WriteLine(k); 00111010 10001101 按位异或=10110111(补码) 输出0xb7 -73 25 op1返回op1的二进进制补码补码 表示进进行 按位取反操作的结结果 sbyte i=0x3a; sbyte k=(sbyte)(i); System.Console.WriteLine(“0x0:x“,k); System.Console.WriteLine(k); 00111010 按位取反=11000101(补码) 输出0xc5 -59 26 op1op2将op1的二进进制补码补码 表示向右移动动op2 位, 右边边溢出位舍去, 如果op1是有符号整数,则则左边补边补 符号位 如果op1是无符号整数,则则左边补边补 0 sbyte i=0x3a; sbyte k=(sbyte)(i2); System.Console.WriteLine(“0x0:x“,k); System.Console.WriteLine(k); 输出0xe 14 00111010 00001110 28 sbyte i=-0x3a; sbyte k=(sbyte)(i2); System.Console.WriteLine(“0x0:x“,k); System.Console.WriteLine(k); 11000110 11110001 输出0xf1 -15 29 思考: 如何用一个表达式计算2的X次方? 答案: 1b)?a:b 31 2.7 其他运算符 is as sizeof typeof 32 nis运算符 (1)用于值类型 (2)用于引用类型 33 (1)用于值类型 检查数据是否属于某值类型 bool b1 = 1.0 is double; /true bool b2 = b1 is float; /false 34 (2)用于引用类型 检查某数据是否属于某类或某类的子类 假设已定义了Student类 Student s1 = new Student(); bool b1 = s1 is object; System.Console.WriteLine(b1); /true bool b2 = s1 is Student; System.Console.WriteLine(b2); /true 35 nas运算符 用于执行引用类型的显式类型转换。如果要 转换的类型与指定的类型兼容,转换成功;否则返 回null string s1 = “hello“; object o1 = s1 as object; string s2 = o1 as string; if (s2 = null) System.Console.WriteLine(“s2 is null“); else System.Console.WriteLine(s2); 36 nsizeof运算符 用于确定值类型的字节大小。不可用于引用 类型 System.Console.WriteLine(sizeof(int); /输出4 37 ntypeof运算符 用于获取类型的System.Type对象。 要获取表达式的System.Type对象可用方法 GetType() 38 教材例3.7 Type t1 = typeof(bool); Console.WriteLine(“typeof(bool) is 0“, t1); int radius = 5; Type t2 = radius.GetType(); Console.WriteLine(“radius.GetType() is 0“, t2); Cons

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论