已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称:.NET应用开发 第二章 C#基础2.2 C#程序结构1.目标概述 2分钟22.回顾 5分钟23.课程知识点讲解23.1.C#的程序流程 5分钟23.2.条件语句 15分钟33.3.循环语句 25分钟33.4.跳转语句 10分钟53.5.程序的结构 15分钟63.6.编译运行 10分钟64.小结 3分钟75.考核点76.作业答案77.扩展练习88.学生问题汇总89.教学后记8本节目标n 本节中将讲述如下主要内容: C#的程序流程 C#的程序结构 C#程序的编译运行n 通过教学使学生掌握C#编译器的使用方法。本节重点n C#的程序流程n C#的程序结构n C#程序的编译运行 本节难点n 授课课时n 2课时 教法建议1. 目标概述 2分钟本节主要讲述C#语言程序结构。2. 回顾 5分钟回顾上一节的相关知识。3. 课程知识点讲解3.1. C#的程序流程 5分钟引入:主题:在程序模块中,C#可以通过条件语句控制程序的流程,从而形成程序的分支和循环。C#中提供了以下控制关键字:l 选择控制:if、else、switch、casel 循环控制:while、do、for、foreachl 跳转语句:goto、break、continue、returnl 编译控制:#if、#elif、#else、#endifl 异常处理:try、catch、finally3.2. 条件语句 15分钟引入: 主题:当程序中需要进行两个或两个以上的选择时,可以根据条件判断来选择将要执行的一组语句。C#提供的选择语句有if语句和switch语句。1if语句if语句是最常用的选择语句,它根据布尔表达式的值来判断是否执行后面的内嵌语句。其格式为:if (boolean-expression)embedded-statement或if (boolean-expression) embedded-statementelse embedded-statement示例讲解示例2.2.1 考察以下代码,判断是否往应用程序传送参数。2switch 语句if语句每次判断只能实现两条分支,如果要实现多种选择的功能,那么可以采用switch语句。switch 语句根据一个控制表达式的值选择一个内嵌语句分支来执行。它的一般格式为:switch(controlling-expression) case constant-expression: embedded-statements default: embedded-statements switch语句的控制类型,即其中控制表达式(controlling-expression)的数据类型可以是sbyte、byte、short、ushort、uint、long、ulong、char、string或枚举类型(enum-type)。3.3. 循环语句 25分钟引入: 主题:循环语句可以实现一个程序模块的重复执行,它对于简化程序,更好地组织算法有着重要的意义。C#提供了四种循环语句,分别适用于不同的情形:l while语句l do-while 语句l for语句l foreach语句1while语句while语句有条件地将内嵌语句执行0遍或若干遍,语句的格式为:while (boolean-expression) embedded-statement它的执行顺序是: 计算布尔表达式boolean-expression的值; 当布尔表达式的值为真时,执行内嵌语句embedded-statement一遍,程序转至第1步; 当布尔表达式的值为假时,while循环结束。while语句中允许使用break语句结束循环,执行后续语句;也可以用continue语句来停止内嵌语句的执行,继续进行while循环。2do-while语句do-while语句与while语句不同的是,它将内嵌语句执行一次(至少一次)或若干次。语句的格式为:do embedded-statement while(boolean-expression);它按如下顺序执行: 执行内嵌语句embedded-statement一遍; 计算布尔表达式boolean-expression的值,为true则回到第一步,为false则终止do循环;在do-while循环语句中,同样允许用break语句和continue语句实现与while语句中相同的功能。示例讲解例2.2.2 以下代码表示了如何使用do-while循环来实现求整数的阶乘。3for语句for语句是C#中使用频率最高的循环语句。在事先知道循环次数的情况下,使用for语句是比较方便的。for语句的格式为:for(initializer;condition;iterator) embedded-statement其中initializer,condition,iterator这三项都是可选项。initializer为循环控制变量做初始化,循环控制变量可以有一个或多个(用逗号隔开);condition为循环控制条件,也可以有一个或多个语句;iterator按规律改变循环控制变量的值。请注意,初始化、循环控制条件和循环控制都是可选的。如果忽略了条件,就可以产生一个死循环,要用跳转语句(break或goto)才能退出。for语句执行顺序如下: 按书写顺序将initializer部分(如果有的话)执行一遍,为循环控制变量赋初值; 测试condition(如果有的话)中的条件是否满足; 若没有condition项或条件满足,则执行内嵌语句一遍,按iterator改变循环控制变量的值,回到第二步执行; 若条件不满足,则for循环终止。示例讲解例2.2.3 打印杨辉三角形。4foreach语句foreach语句是在C#中新引入的,C+中没有这个语句。它表示收集一个集合中的各元素,并针对各个元素执行内嵌语句。语句的格式为:foreach(type identifier in expression) embedded-statement其中类型(type)和标识符(identifier)用来声明循环变量,表达式(expression)对应集合。每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中。在这里,循环变量是一个只读型局部变量,如果试图改变它的值或将它作为一个ref或out类型的参数传递,都将引发编译时错误。foreach语句中的expression必须是集合类型,如果该集合的元素类型与循环变量类型不一致,则必须有一个显示定义的从集合中的元素类型到循环变量元素类型的显式转换。示例讲解示例2.2.4假设Prime是一个满足条件的集合类型,它的元素类型为0到1000以内的质数。MyInt是自定义的一个类型,其范围为200到300之间的整数。3.4. 跳转语句 10分钟引入: 主题:1goto语句goto语句可以直接跳转到程序中用标签指定的另一行(标签是一个标识符,后跟一个冒号)。goto语句有两个限制:不能跳转到像for循环这样的代码块中,也不能跳出类的范围,不能退出trycatch块后面的finally块(后面会介绍用trycatchfinally处理异常)。2break语句前面简要提到过break语句在switch语句中使用它退出某个case语句。实际上,break也可以用于退出for、foreach、while或dowhile循环,循环结束后,立即执行后面的语句。3continue语句continue语句类似于break,也必须用于for、foreach、while或dowhile循环中。它只从循环的当前迭代中退出,然后在循环的下一次迭代开始重新执行,而不是退出循环。注意(与其他跳转语句一样)continue语句不能用于退出finally块,如果continue语句导致退出try块,就会执行相关的finally块,之后进行循环的下一次迭代。4return语句return语句用于退出类的方法,把控制返回方法的调用者,如果方法有返回类型,return语句必须返回这个类型的值,如果方法没有返回类型,该语句就不能用于表达式。3.5. 程序的结构 15分钟引入: 主题:1类2命名空间命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉其他使用类的开发人员如何使类相关以及如何使用它们。3Main方法C#程序在开始执行时,是从一个方法Main()开始的。这个方法必须是类或结构的静态方法,并且其返回类型必须是int或void:public static int Main()或public static void Main()4多个Main方法在编译C#控制台或Windows应用程序时,默认状态下,编译器会在与上述名称列表相匹配的任何类查找Main方法,并使这个类方法成为程序的入口。如果有多个Main方法,编译器就会返回一个错误。示例讲解示例2.2.5考虑下面代码。示例讲解示例2.2.6以下例子是传送给Main方法的字符串数组中迭代,并把每个选项的值写入控制台窗口。3.6. 编译运行 10分钟引入: 主题:选项输 出/t:exe控制台应用程序(默认)/t:library类库(带有清单)/t:module没有清单的组件/t:winexeWindows应用程序(没有控制台窗口)示例讲解示例2.2.7该示例说明了如何编译类库,再在另一个装配件中引用这个库。它包含两个文件,类库和控制台应用程序,该应用程序调用库中的一个类。4. 小结 3分钟本节主要介绍了以下内容:1C#提供的选择语句有if语句和switch语句。2在if语句中,每一条else语句与离它最近且没有其它else与之对应的if相搭配。3C#的if语句与C+不同,即if后的逻辑表达式必须是布尔类型的。4C#中要求switch语句中每个标签项后使用break语句或跳转语句goto,即不允许从一个case自动遍历到其它case,否则编译时将报错。5C#允许switch语句中可以把字符串当成常量表达式来使用。6while语句有条件地将内嵌语句执行0遍或若干遍,语句的格式为:while (boolean-expression) embedded-statement。7do-while语句与while语句不同的是,它将内嵌语句执行一次(至少一次)或若干次。语句的格式为:do embedded-statement while(boolean-expression)。8for语句是C#中使用频率最高的循环语句。for语句的格式为:for(initializer;condition;iterator) embedded-statement。9foreach语句是在C#中新引入的,它表示收集一个集合中的各元素,并针对各个元素执行内嵌语句。语句的格式为:foreach(type identifier in expression) embedded-statement。10goto语句不能跳转到像for循环这样的代码块中,也不能跳出类的范围,不能退出trycatch块后面的finally块。11Main方法必须是类或结构的静态方法,并且其返回类型必须是int或void。12代码中包含两个类,它们都有一个Main方法。此时可以使用/main选项,其后跟Main方法所属类的全名(还可以包括名称空间),显式告诉编译器把哪个方法作为程序的入口点。5. 考核点 考核点1:C#的程序结构6. 作业答案 1:if语句的嵌套使用应注意哪些问题?答: 2:为什么在C#中取消了switch语句中的遍历功能?如何在C#程序中实现遍历?答: 3:编写一个程序,对输入的四个整数,求出其中的最大值和最小值。答:具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学经济学专业毕业论文选题参考文档2
- 供应链管理在建筑企业中的应用研究
- 供应链融资在建筑施工企业中的应用
- 成人大专工商管理毕业论文范文
- (2025届)英语专业毕业论文撰写规范
- 大学毕业论文范本
- 毕业论文评语范例10
- 完整的学术论文的标准格式
- 数学专业毕业论文方向
- 合并慢性贫血的慢性稳定性心绞痛药物纠正与心绞痛控制方案
- GB/T 15597.2-2024塑料聚甲基丙烯酸甲酯(PMMA)模塑和挤出材料第2部分:试样制备和性能测定
- 工伤知识与工伤预防培训
- JT-T-1180.1-2018交通运输企业安全生产标准化建设基本规范第1部分:总体要求
- 383221452023年中考化学课件:华山论剑-金属复习课
- 机械与自动化技术培训方案
- 轨道车司机考试-车辆检查驾驶与维护保养课件
- 急诊科运用PDCA循环缩短缺血性脑卒中患者在急诊科停留时间品管圈成果汇报
- 2021年北京市海淀区初三中考二模语文试题(有答案)
- 螺纹等级公差计算公式
- GB/T 26081-2022排水工程用球墨铸铁管、管件和附件
- 12YJ4-1 常用门窗标准图集
评论
0/150
提交评论