[工学]C第二章-c语言基础课件_第1页
[工学]C第二章-c语言基础课件_第2页
[工学]C第二章-c语言基础课件_第3页
[工学]C第二章-c语言基础课件_第4页
[工学]C第二章-c语言基础课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 c#语言基础在本章中,您将学习:使用变量操作符:算术 算术赋值一元 比较 逻辑使用条件结构使用循环结构 目标应用程序使用操作符来处理用户输入的数据。C#中的操作符可以分成:算术操作符算术赋值操作符一元操作符比较操作符逻辑操作符使用操作符运算符和表达式Result=number*100变量变量常量操作数表达式操作数和运算符的组合运算符类别运算符说明表达式算术运算符+执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾) 操作数1 + 操作数2-执行减法运算 操作数1 - 操作数2*执行乘法运算操作数1 * 操作数2/执行除法运算操作数

2、1 / 操作数2%获得进行除法运算后的余数 操作数1 % 操作数2将一个数按位取反 操作数表达式类型计算方法结果(假定 num1 的值为 5)num2 = +num1;前置自加num1 = num1 + 1;num2 = num1;num2 = 6;num1 = 6;num2 = num1+;后置自加num2 = num1;num1 = num1 + 1;num2 = 5;num1 = 6;num2 = -num1;前置自减num1 = num1 - 1;num2 = num1;num2 = 4;Num1 = 4;num2 = num1-;后置自减num2 = num1;num1 = num1

3、 - 1;num2 = 5;Num1 = 4;计算结果:1、int i = 0;bool result = falseresult = (+i) + i = 2?true:false; result = true类别运算符说明表达式三元运算符(条件运算符) ?:检查给出的第一个表达式 expression 是否为真。如果为真,则计算 operand1,否则计算 operand2。这是唯一带有三个操作数的运算符 表达式? 操作数1:操作数2 下面的运算结果是什么?1、27 % 5 = 2、11 = 2-12为什么?类别运算符说明表达式比较运算符检查一个数是否大于另一个数 操作数1 操作数2检查一

4、个数是否小于另一个数 操作数1 =检查一个数是否大于或等于另一个数 操作数1 = 操作数2= 检查一个数是否小于或等于另一个数 操作数1 = 操作数2= 检查两个值是否相等 操作数1 = 操作数2!= 检查两个值是否不相等操作数1 != 操作数2类别运算符说明表达式成员访问运算符.用于访问数据结构的成员 数据结构.成员赋值运算符=给变量赋值 操作数1 = 操作数2逻辑运算符 & 对两个表达式执行逻辑“与”运算 操作数1 & 操作数2|对两个表达式执行逻辑“或”运算 操作数1 | 操作数2!对两个表达式执行逻辑“非”运算! 操作数异或表达式1 表达式2运算符计算方法表达式求值结果(假定 X =

5、10)+=运算结果 = 操作数1 + 操作数2X += 5X = X + 515-=运算结果 = 操作数1 - 操作数2X -= 5X = X - 55*=运算结果 = 操作数1 * 操作数2X *= 5X = X * 550/=运算结果 = 操作数1 / 操作数2X /= 5X = X / 52%=运算结果 = 操作数1 % 操作数2X %= 5X = X % 50C# 运算符的优先级优先级说明运算符结合性1括号( )从左到右2自加/自减运算符+/-从右到左3乘法运算符、除法运算符、取模运算符*、/、%从左到右4加减法运算符+ -从左到右5小于、小于等于大于、大于等于、=从左到右6等于不等于

6、=!=从左到右从左到右7逻辑与&从左到右8逻辑或|从左到右9赋值运算符和快捷运算符= 、+=、 *= /= 、%=、 -=从右到左使用条件结构条件结构能够根据与其关联的表达式值选择执行的语句。评估条件需要比较操作符。各种条件结构是:ifelse 结构switchcase 结构if.else 条件结构后跟一个逻辑表达式,在该表达式中比较数据并且根据比较结果作出决定。以下是if.else 结构的语法:if (expression)statements;elsestatements;ifelse 结构 if.else 结构可以彼此嵌入。当它们嵌在一起时,结构就是级联的if.else 结构ifelse

7、 结构(续) static void Main(string args) Console.WriteLine(请选择要显示的内容); Console.WriteLine(1.开发环境); Console.WriteLine(2.编程语言); Console.WriteLine(3.项目类型); Console.WriteLine(4.退出); string i = Console.ReadLine(); if (i = 1) Console.WriteLine(microsoft visual basic); else if (i = 2) Console.WriteLine(c sharp)

8、; else if (i = 3) Console.WriteLine(控制台应用程序); 当一个变量有多个值时要用到switchcase 结构。以下代码是switch.case 结构的语法:switch (VariableName)case ConstantExpression_1:statements;break;case ConstantExpression_2:statements;break;case ConstantExpression_n:statements;break;default:statements;break;switchcase 结构问题描述:编写一个模拟计算器的程

9、序。计算器应该能够执行以下算术操作:加法减法乘法除法 演示:使用条件结构的计算器 使用循环结构 循环结构用于重复执行一行或多行代码。C# 支持以下的循环结构:while 循环dowhile 循环for 循环while 循环while 循环结构根据条件来执行一定次数的语句块。以下代码是while 循环结构的语法:while (expression)statements;dowhile 循环do.while 循环结构类似于 while 循环结构。两个结构都要重复执行语句直至指定的循环条件为false。以下代码是 do.while 循环结构的语法:dostatements; while(expres

10、sion);dowhile 循环(续)下图显示了 do.while 和 while 循环结构的区别。Falsedo whileFalseTrue执行循环的主体评估条件True执行循环的主体评估条件whilefor 循环for 循环结构用于执行特定次数的语句块。以下代码是for 循环结构的语法: for (initialization; termination; increment/decrement) statementsfor 循环(续)下图显示了完整的 for 循环结构的执行顺序。TrueFalse初始化评估条件循环主体退出循环增量/减量 演示:使用循环结构的Fibonacci 级数问题描

11、述:编写能够生成Fibonacci级数最高至200的程序。break 和 continue 语句 使用 break 语句退出for循环并停止剩余循环的执行。使用Continue语句可以跳出所有后续的指令并将控制权交回给循环。演示3.24在本章中,您学习了:操作符用于计算和比较值并测试多个条件。使用算术操作符对变量执行算术操作,例如加、减、乘、除。使用算术赋值操作符执行算术操作并将结果赋值给变量。一元操作符(如增量和减量操作符)对一个操作数进行操作。比较操作符用于比较两个值并根据比较的结果执行操作。 逻辑操作符用于评估表达式并返回布尔值。小结条件结构允许选择执行语句。C# 中的条件结构是:ife

12、lseswitchcase当您要对程序的某个部分重复执行一定的次数时,可以使用循环结构。C# 提供以下的循环结构:whiledowhileforbreak 和 continue 语句用于控制循环中的程序流。 小结(续)异常异常是在程序执行期间发生的错误情况。当一个异常在程序中发生的时候,系统抛出一个错误。 错误通过异常处理过程被处理。描述异常在程序中发生的错误的类型有三种。它们是:语法错误:语法错误发生在语句没有适当构造、关键字被拼错或标点被忽略的时候。 运行时错误:运行时错误发生在程序试图完成一个操作,但它在运行时不被允许。逻辑错误:逻辑错误发生在程序编译和运行正常但没有产生预期的结果的时候

13、。让我们了解错误类型的详细信息。错误的类型class ErrorsConsole.WriteLine(“Enjoy Errors”)Console.WriteLine 语句缺少分号语法错误class Errorsint Num1=0;int Num2=20;int Num3;Num3=Num2/Num1;Console.WriteLine(“The Result is 0”, Num3);发生了除以零的情况运行时错误class Errorsint Num1=10;int Num2=2;int Num3;Num3=Num2/Num1;Console.WriteLine(“The Result i

14、s 0”, Num3);期望结果 = 5当前结果 = 0逻辑错误许多异常类都直接或间接的派生自System.Exception类。 这些类有:System.ApplicationException 类System.SystemException 类异常类System.SystemException是所有预定义系统异常的基类。下表描述了一些派生自System.System Exception类的类:异常类(续)异常类描述System.IO.IOException处理I/O错误System.IndexOutOfRangeException当方法引用一个界外的数据元素时,处理产生的错误System.

15、NullReferenceException处理在解除空对象引用的过程中产生的错误System.DivideByZeroException 处理在除法中除数为0的过程中产生的错误System.InvalidCastException 处理在类型匹配中产生的错误System.OutOfMemoryException 处理程序内存分配的错误处理异常在异常处理中,程序被分成代码块。一个显示可能产生错误的块包含一个或者多个异常处理程序。异常处理遵守一个控制结构和一个处理系统级和程序级错误的统一方式。这些异常处理块可以使用下面的关键字实现:trycatchfinally让我们了解这些关键字的详情。处理异

16、常(续)try 块:try块监视可能抛出异常的语句。以下是 try 块的语法:try/statements that may cause an exceptiontry块管理包含在它内部的语句,定义与它相关的异常处理程序的范围。try块必须至少有一个catch块。处理异常(续)catch 块:catch块的语句使用一个异常类的对象作为参数,它引用一个产生的异常。你可以通过提供一个或更多catch处理程序将一个异常处理程序与try块相联系,紧挨着try块之后:try /statements that may cause an exceptioncatch ()/error handling co

17、depublic static void Adding_Numbers(int number1, int number2) try int res = number1 / number2; Console.WriteLine(res); catch (DivideByZeroException e) Console.WriteLine(Exception Caught.0,e.Message); Console.WriteLine(After handing exception); static void Main(string args) Adding_Numbers(10,0); Cons

18、ole.Read(); 多重 catch 块try/程序代码catch (IOException E)/错误处理代码catch (OutOfMemoryException E)/错误处理代码用于捕捉两种异常的“catch”块处理异常(续)finally 块:finally块被用于执行一个给定的语句集,不论异常是否被抛出。try /statements that may cause an exceptioncatch ()/error handling codefinally/statements to be executed演示10.9问题描述:David正在为一个项目工作,其中他正在计算一个整型数组中的总和。David需要处理当他使用数组时发生的异常。如果David在执行程序的时候遇到了任何异常情况,程序需要显示一个异常消息。演示:处理数组越界异常实现用户自定义异常在C#中,你可以创建你自己的异常类。这种类型的异常被称为用户自定义异常。在C#中Exception必须是所有异常的基类。用户定义异常类必须遵守要么异常类的层次或一个标准的继承类。 实现用户自定义异常(续)用户自定义异常类派生自ApplicationException类。为了实现用户自定义异常,

温馨提示

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

最新文档

评论

0/150

提交评论