《C#语言程序设计基础教程》课件单元3_第1页
《C#语言程序设计基础教程》课件单元3_第2页
《C#语言程序设计基础教程》课件单元3_第3页
《C#语言程序设计基础教程》课件单元3_第4页
《C#语言程序设计基础教程》课件单元3_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

单元三程序流程控制与数组C#语言程序设计基础教程任务3.1C#中流程控制语句任务描述实现模拟自助银行服务功能。预备知识语句是构成程序最基本的单位,程序运行的过程就是执行程序语句的过程。C#采用面向对象编程思想和事件驱动机制,但在流程控制方面C#通过流程控制语句来执行程序流,完成一定的任务。C#程序设计中常用的三大基本结构为顺序结构、选择结构和循环结构。3.1.1顺序结构顺序结构是最简单、最常用的基本结构。在顺序结构中,程序的执行按各语句的书写顺序逐条执行。顺序结构是其他结构的基础,在选择结构和循环结构中,总是以顺序结构作为它们的子结构。举例说明:例3-1任务3.1C#中流程控制语句预备知识3.1.2选择结构选择结构又称分支结构。在C#中,有两种语句实现分支结构,即if语句和switch语句。1.使用if语句实现单分支结构任务3.1C#中流程控制语句(1)简单if语句格式:if(条件表达式){代码块}图3-2简单if结构的程序流程图预备知识(2)一般if语句格式:if(条件表达式){代码块1}else{代码块2}任务3.1C#中流程控制语句图3-3一般if结构的程序流程图预备知识(3)多重if语句格式:if(条件表达式1){代码块1}elseif(条件表达式2){代码块2}…elseif(条件表达式n){代码块n}else{代码块n+1}任务3.1C#中流程控制语句图3-4多重if语句程序流程图预备知识(4)if语句嵌套格式:if(条件表达式1){if(条件表达式2){代码块1}else{代码块2}}else{代码块3}任务3.1C#中流程控制语句图3-6if语句嵌套程序流程图举例说明:例3-2、例3-3预备知识1.使用switch语句实现多分支结构当程序设计中出现的分支情况很多时,虽然if语句的多层嵌套可以实现,但会使程序变得冗长且不直观。为改善这种用户体验,可以用switch语句来处理多分支的选择问题。任务3.1C#中流程控制语句预备知识格式:switch(控制表达式){case常量表达式1:语句1;break;//必须有case常量表达式2:语句2;break;//必须有…default:语句n;

break;//必须有}任务3.1C#中流程控制语句举例说明:例3-4图3-8switch语句执行流程图预备知识3.1.3循环结构在C#中,我们可以使用while循环、do-while循环、for循环和foreach循环来实现循环结构。当然,循环结构和选择结构一样,也可以嵌套。1.使用while和do-while实现循环结构任务3.1C#中流程控制语句(1)while循环格式:while(条件表达式){

代码块}图3-10while循环程序流程图预备知识(2)do-while循环格式:do{

代码块}while(条件表达式);任务3.1C#中流程控制语句图3-11do-while循环程序流程图预备知识(3)while循环与do-while循环的区别任务3.1C#中流程控制语句表3-1while循环与do-while循环的区别预备知识2.使用for语句实现循环结构格式:for(表达式1;表达式2;表达式3){

代码块}for循环的执行过程如下:(1)执行表达式1,设置循环变量的初始值。(2)判断表达式2,若为true则转步骤(3)执行,否则循环结束,执行for循环后面的语句。(3)执行循环体(即代码块)。(4)执行表达式3,转到步骤(2)执行。任务3.1C#中流程控制语句预备知识举例说明:例3-5。任务3.1C#中流程控制语句图3-12for循环程序流程图预备知识3.使用foreach语句实现循环结构格式:foreach(数据类型循环变量名in数组名或集合){循环体}foreach语句是C#中新引入的,在C和C++中没有这个语句,它表示收集一个数组或集合中的各个元素,并针对各个元素执行内嵌语句。变量用来逐一存放数组元素的内容,数据类型必须与数组元素的或集合中数据类型一致;数据元素或集合元素的个数决定循环体执行的次数;每次进入循环体,会依次将数组元素内容读入循环变量,当所有数据元素都读完后退出循环。任务3.1C#中流程控制语句预备知识举例说明:例3-6。任务3.1C#中流程控制语句图3-14foreach循环程序流程图预备知识4.使用break与continue语句实现循环跳转跳转语句是用来改变程序的执行顺序的语句。在C#中使用break语句和continue语句来改变程序的执行顺序。(1)break语句break语句主要用于switch语句和循环语句中。在switch语句中主要是用来跳出switch结构,进而执行switch结构后的语句。在循环语句中主要是用来跳出循环结构,执行循环外后面的语句。break语句在循环中一般和if语句结合使用。格式:break;举例说明:例3-7。任务3.1C#中流程控制语句预备知识4.使用break与continue语句实现循环跳转(2)continue语句Continue语句主要用于循环语句中,用来结束本次循环,进入下一次循环。在循环体中当执行到continue语句后,continue后的语句将不再执行,直接进行下一次循环的判断。格式:continue;举例说明:例3-8。任务3.1C#中流程控制语句任务实施编程实现任务3-1任务2.1数据类型与表达式程序调用自身的编程技巧称为递归(recursion)。递归作为一种算法在程序设计语言中广泛应用。一个方法在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型、复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。使用递归可以解决许多有意思的经典问题,如求斐波那契数列、汉诺塔、数的阶乘等。举例说明:例3-9。(更正教材中非递归程序)知识拓展任务3.1C#中流程控制语句在本节中,我们重点学习了实现程序流程控制的相关语句,以及跳转语句。现对相关语句相关语句注意事项进行总结。1.if语句2.switch语句3.while语句4.do-while语句5.for语句6.foreach语句7.break语句8.continue语句归纳总结任务3.1C#中流程控制语句任务3.2数组任务描述定义一个整数数组,找出整数类型数组中最大元素及其索引值。预备知识数组是一些具有相同类型的数据按一定顺序组成的变量序列,数组中的每个元素都可以通过数组名及唯一的索引(即下标)来确定,在C#中,数组元素的索引是从0开始的,即对于有N个元素的数组,其索引范围是从0~N-1。数组适用于存储和表示既与取值有关又与位置相关的数据。数组也必须先定义后使用。定义数组后就可以对数组进行访问,访问数组一般都转换为对数组中某个元素或全部元素的访问。数组按照下标个数划分,可分为一维数组和多维数组。数组元素下标个数超过两个的数组可以称为多维数组。任务3.2数组预备知识3.2.1一维数组1.一维数组的声明数组声明时,主要声明数组的名称和所包含的元素类型,一般格式如下:数组类型[]数组名;2.一维数组的创建(1)先声明、后创建格式:数据类型[]数组名;数组名=new数据类型[元素个数];(2)声明的同时创建数组格式:数据类型[]数组名=new数据类型[元素个数];任务3.2数组预备知识3.2.1一维数组3.一维数组的初始化(1)完整定义格式:数据类型[]数组名=new数据类型[元素个数]{初始值列表};(2)省略数组大小格式:数据类型[]数组名=new数据类型[]{初始值列表};(3)省略new和数据类型[]格式:数据类型[]数组名={初始值列表};任务3.2数组预备知识3.2.1一维数组4.一维数组的赋值要给数组赋值,需要用到数组的索引。格式:数组名[索引值]=数据的值;5.数组类常用属性和方法任务3.2数组表3-2数组类常用属性和方法预备知识3.2.2二维数组数组元素下标超过两个的数组可以称为多维数组。二维数组主要应用于平面或立体排列的数据处理,最常见的是矩阵与二维表格中的数据处理。二维数组是多维数组中最简单、最常用的一种。二维数组的操作与一维数组操作类似,因此我们以二维数组为例简要介绍一下多维数组的使用方法。声明二维数组的格式如下:类型名称[,]数组名;声明并实例化二维数组的格式如下:类型名称[,]数组名=new类型名称[行数,列数];在声明并实例化二维数组时,也可以指定数组元素的初始值。任务3.2数组任务实施编程实现任务

温馨提示

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

评论

0/150

提交评论