Ch03.语句、表达式、运算符.ppt_第1页
Ch03.语句、表达式、运算符.ppt_第2页
Ch03.语句、表达式、运算符.ppt_第3页
Ch03.语句、表达式、运算符.ppt_第4页
Ch03.语句、表达式、运算符.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

第3章 语句、运算符和表达式 C#语言语句、运算符和表达式的基本概念 算术运算符 关系和类型测试运算符 逻辑运算符 赋值运算 字符串运算符 位运算符 条件运算符 运算符优先级 表达式的组成和书写规则 3.1 语句(1) 语句(statement)是C# 程序的过程构造块 ,用于声明变量和常量、创建对象、变量赋值 、调用方法、控制分支、创建循环等。语句通 常以分号终止。由花括号( 和 )括起来的一 系列语句构成代码块(block) 3.1 语句(2) 声明语句(declaration statement)用于声明局部变量和常量 表达式语句(expression statement)用于对表达式求值。可用作语句的表达式 包括方法调用、使用 new 运算符的对象分配、使用 = 和复合赋值运算符的赋值 ,以及使用 + 和 - 运算符的增量和减量运算 选择语句(selection statement)用于根据表达式的值从若干个给定的语句中选 择一个来执行。这一组语句有 if 和 switch 语句 迭代语句(iteration statement)用于重复执行嵌入语句。这一组语句有 while 、do、for 和 foreach 语句 跳转语句(jump statement)用于转移控制。这一组语句有 break、continue 、goto、return、和throw语句等 try.catch 语句用于捕获在块的执行期间发生的异常,try.finally 语句用于指定 终止代码,不管是否发生异常,该代码都始终要执行 checked 语句和 unchecked 语句用于控制整型算术运算和转换的溢出检查上 下文 lock 语句用于获取某个给定对象的互斥锁,执行一个语句,然后释放该锁 using 语句用于获得一个资源,执行一个语句,然后释放该资源 【例3.1】C#语句示例:声明语句、控制语句、赋值语句、循环语句、调用静态 方法、调用对象方法等 3.2 运算符 C#运算符(operator)是术语或符号,用于在表 达式中对一个或多个称为操作数的进行计算并返回 结果值。接受一个操作数的运算符被称作一元运算 符,例如增量运算符(+)或new。接受两个操作 数的运算符被称作二元运算符,例如算术运算符+ 、-、*、/。接受三个操作数的运算符被称作三元运 算符,条件运算符“?:”是C#中唯一的三元运算符 当表达式包含多个运算符时,运算符的优先级控制 各运算符的计算顺序 通过运算符重载(overload)(具体可参见7.6节 )可以为用户自定义的类型定义新的运算符 3.2.1 算术运算符 运算符含义说明优先级实例结果 +增量操作数加 11+num,num+9 -减量操作数减 11-num,num-7 +一元+操作数的值2+num8 -一元-操作数的反数2-num-8 *乘法操作数的积3num*num*2128 /除法第二个操作数除第一个操作数310 / num 10.0 / num 1 1.25 %模数第二个操作数除第一个操作数后的余数310 % num 8 % 2.2 2 1.4 +加法两个操作数之和410 + num18 -减法从第一个操作数中减去第二个操作数410 - num2 注意: (1)算术运算符两边的操作应是数值型。若是字符型,则自 动转换成字符所对应的ASCII码值后再进行运算 (2)增量运算符(+、-)可以出现在操作数之前( +variable、 -variable )或之后(variable+ 、 variable - ) 【例3.2】算术运算符+、-、一元+、一元-、二元+、二元-、 *、/、%等示例 3.2.2 关系和类型测试运算符 注意: 关系运算符的优先级相同。 对于两个预定义的数值类型,关系运算符按照操作数的数值大小进行比较。 对于string类型,关系运算符比较字符串的值,即按字符的ASCII码值从左到右一 一比较:首先比较两个字符串的第一个字符,其ASCII码值大的字符串大,若第一 个字符相等,则继续比较第二个字符,依此类推,直至出现不同的字符为止。 对于string以外的引用类型,如果两个操作数引用同一个对象,则=返回True。 如果两个操作数引用不同的对象,则!=返回True。 int 和System.Int32是相同的数据类型 运算符含义实例结果 =相等“ABCDEF“ = “ABCD“False !=不等“ABCD“ != “abcd“True 大于“ABC“ “ABD“False =大于等于123 = 23False =等示例 运算符含义举例等效于 +=加法赋值sum += itemsum = sum + item -=减法赋值count +=1count = count + 1 *=乘法赋值x *= y+5x = x * (y+5) /=除法赋值x /= y-zx = x / (y-z) %=取模赋值x %= 2x = x % 2 =右移赋值x = yx = x y 首先计算“逻辑表达式”的值,如果为true,则 运算结果为“表达式1”的值,否则运算结果为“ 表达式2”的值 计算a和b两个数中较大的数,并将其赋给变量 maxnum中,语句为: maxnum = (a b)? a : b; 3.2.8 其它运算符 sizeof用于获取值类型的字节大小,仅适用于值类型, 而不适用于引用类型。sizeof运算符只能在不安全代码 块中使用 typeof用于获取类型的System.Type对象,例如: System.Type type = typeof(int); 若要获取表达式的 运行时类型,可以使用.NET Framework方法 GetType() 【例3.6】sizeof运算符示例 【例3.7】typeof运算符示例 3.2.9 运算符优先级 表达式中的运算符按照运算符优先级(precedence)的 特定顺序和结合性规则计算 表3-6按优先级从高到低的顺序列出各运算符类别,同一类 别中的运算符优先级相同 3.3 表达式表达式的组成 表达式由操作数(变量、常量、函数)、运算符和圆括 号按一定规则组成。表达式通过运算后产生运算结果, 运算结果的类型由操作数和运算符共同决定 表达式的书写规则 (1)乘号不能省略,例如,a乘以b

温馨提示

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

评论

0/150

提交评论