C#结构化程序设计ppt课件.ppt
《C#结构化程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《C#结构化程序设计ppt课件.ppt(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。第4章 结构化程序设计“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。本章主要介绍结构化程序设计的概念,三种基本控制结构以及C#中的常用语句。程序是由语句构成的,C#的常用语句包括:简单语句、条件语句、分支语句、循环语句、跳转语句等。只有很好地掌握程序设计语言的各种语句,才能构造正确的和结构良好、清晰的程序。2C#
2、程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.1 结构化程序设计的概念结构化程序设计的主要观点是采用自顶向下自顶向下、逐逐步求精步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都是由顺序顺序、选择选择、循环循环三种基本控制结构进行构造 。3C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.1.1 结构化程
3、序设计的概念及算法的概念结构化程序设计结构化程序设计是以模块化设计为中心以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块。由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便。按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序顺序结构结构、选择结构选择结构和循环结构循环结构来实现。4C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以
4、公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.1.1 结构化程序设计的概念及算法的概念结构化程序设计的基本思想是采用结构化程序设计的基本思想是采用“自顶向下,逐自顶向下,逐步求精步求精”的程序设计方法和的程序设计方法和“单入口单出口单入口单出口”的控的控制结构。制结构。“自顶向下、逐步求精自顶向下、逐步求精”的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;“单入口单出口单入口单出口”的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。5
5、C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.1.1 结构化程序设计的概念及算法的概念结构化程序设计的实质是控制编程中的复杂性结构化程序设计的实质是控制编程中的复杂性。在此,我们来关注一下程序设计的主要步骤:(1)分析问题。 (2)确定算法。(3)画出程序流程图。(4)编写程序。 (5)调试程序。 (6)建立健全的文档资料。6C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、
6、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.1.1 结构化程序设计的概念及算法的概念其中,关键问题关键问题在于第2个步骤,即“算法设计”。 所谓“算法算法”,粗略地讲,是为解决一个特定问题而采取的确定的有限的步骤。这里所说的算法,是指计算机能执行的算法。只有算法是正确的,写程序就不会有太大的困难。一个程序员应该掌握如何设计一个问题的算法或者采用已有的可行算法。计算机算法可以采用流程图流程图来表示。7C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工
7、程”。4.1.2 流程图流程图流程图(Flowchart),它是用一些几何框图、流向线和文字说明来表示各种类型的操作。计算机算法可以用流程图来表示,图4-1、图4-2、图4-3和图4-4是用流程图表示了结构化程序设计的3种基本结构。8C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.2 顺序结构顺序结构的流程图如图4-1所示,先执行A语句,再执行B语句,两者是顺序执行的关系。A、B可以是一个简单语句,也可以是一个基本结构,即顺序结构、选择结构或者循环结构
8、之一。常用的简单语句包括空语句、复合语句、标签语句、空语句、复合语句、标签语句、声明语句和表达式语句声明语句和表达式语句等。9C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.2.1 空语句空语句空语句是一种最简单的语句,它不实现任何功能,C#的空语句的形式如下:;即只有一个分号的语句。在不需要执行任何操作但又需要一条语句时,可以采用空语句来表示。10C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑
9、、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.2.2 复合语句可以用把一些语句包括起来成为复合语句复合语句,或者称为块块。例如,下面就是一条复合语句: int X, Y, Z; X = 9; Y = X + 10; Z = X * Y;11C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.2.3 标签语句C#程序允许在一条语句前面使用标签前缀标签前缀,其形式如下:标签名称:语句标签语句主要用于配合goto语句来完成
10、程序的跳转功能,例如:if (X 0) goto Large;X = -X;Large: return X;12C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.2.4 顺序结构的实例【例例4-14-1】编写程序计算圆的面积。编写程序计算圆的面积。using System;using System;namespace OrderStructurenamespace OrderStructure class Circleclass Circle stati
11、c void Main()static void Main() const double PI = 3.14159;const double PI = 3.14159; double R, S;double R, S; Console.WriteLine(Console.WriteLine(请输入圆的半径:请输入圆的半径:);); R = double.Parse(Console.ReadLine();R = double.Parse(Console.ReadLine(); S = PI S = PI * * R R * * R; R; Console.WriteLine(Console.Wr
12、iteLine(圆的面积为:圆的面积为:0, S);0, S); 13C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.2.4 顺序结构的实例上面这段程序就是一个典型的顺序结构。典型的顺序结构。在Circle类的Main方法中,程序根据语句出现的顺序依次执行,先是在程序中输入一个半径值,然后根据计算公式计算出圆的面积,最后将圆的面积的值进行输出。14C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑
13、、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3 选择结构在实际的运算中,往往要进行复杂的逻辑判定逻辑判定,即给出一些条件,让程序判定是否满足条件,并按不同的情况让程序进行不同的处理。比如,输入一个考试成绩,判定它是优、良、中、及格或不及格等。或者输入两个字母,比较其ASCII码的大小,然后根据不同的情况进行相应的处理。这些问题是需要由程序按给定的条件进行比较和判定,并按判定后的不同情况进行处理,这时就需要用到选择结构。15C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公
14、共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3 选择结构选择结构选择结构也是一种常用的基本结构,是根据所定选择条件为真与否,而决定从各个不同的操作分支中执行某一分支的相应操作。常用的选择结构有条件语句和分支语句。16C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句常用的条件语句有如下几种。1. if1. if语句语句if语句是基于布尔表达式的值来判定是否执行后面的内嵌的语句块,其语法形式如下:if(表达式)语句块;17C
15、#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句说明:说明:如果表达式的值为true(即条件成立),则执行后面的if语句所控制的语句块,如果表达的值为false(即条件不成立),则不执行if语句控制的语句块。然后再执行程序中的后一条语句。if语句的程序流程图如图4-5所示。如果if语句只控制一条语句,则大括号“”可以省略。18C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格
16、化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。【例例4-24-2】编写程序实现从键盘上输入一个数,输出它的绝对值。using System;class AbsDemo static void Main() int x, y; string str; Console.WriteLine(请输入x的值:); str = Console.ReadLine(); x = Convert.ToInt32(str); y = x; if(x= 60) Console.WriteLine(该成绩合格。); else Console.WriteLine(该成绩不合格。); 23C#程
17、序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句说明:说明:上例中if语句和else语句后的大括号“”可以省略,因为它们都只控制一条语句。但显而易见,加上大括号,程序的结构更加分明。24C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句如果程序的逻辑判定关系比较复杂,通常会用到如果程序的
18、逻辑判定关系比较复杂,通常会用到ifelseifelse嵌套嵌套语句,语句,if if语句可以嵌套使用,即在判定之中又有判定。其一般语句可以嵌套使用,即在判定之中又有判定。其一般形式如下:形式如下:if(if(表达式表达式1)1) if(if(表达式表达式2)2) if(if(表达式表达式3)3) . . 语句语句1;1; elseelse 语句语句2;2; elseelse 语句语句3;3;elseelse 语句语句4;4;在应用这种在应用这种ifelseifelse结构时,结构时,要注意要注意elseelse和和if if的配对关系,此配的配对关系,此配对关系是:从第对关系是:从第1 1个
19、个elseelse开始,一开始,一个个elseelse总是和它上面离它最近的总是和它上面离它最近的可配对的可配对的if if配对。配对。25C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。请看下例:if (i = 80) if (j 100) c = d; else /这个else与if (k 100)相匹配 a = c; else /这个else与if (k = 80)相匹配 a = d; 注意:注意:在此建议在应用ifelse嵌套语句时,即使控制一条语句
20、,也应该加上一对“”。26C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句【例例4-44-4】假设考查课的成绩按优秀、良好、中等、及格和不及假设考查课的成绩按优秀、良好、中等、及格和不及格分为五等,但是实际的考试成绩是百分制的,分别对应的分格分为五等,但是实际的考试成绩是百分制的,分别对应的分数段为数段为9010090100、80898089、70797079、60696069、059059。使用嵌套。使用嵌套的的ifelseifels
21、e语句将考试成绩转换为考查课成绩。语句将考试成绩转换为考查课成绩。程序代码如下所示:程序代码如下所示:using System;using System; class TestScoreclass TestScore static void Main() static void Main() int InputScore; int InputScore; string OutputScore; string OutputScore; Console.WriteLine( Console.WriteLine(请输入百分制分数:请输入百分制分数:);); InputScore = Convert.
22、ToInt32(Console.ReadLine(); InputScore = Convert.ToInt32(Console.ReadLine();27C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句if (InputScore = 70)if (InputScore = 70) if (InputScore = 80) if (InputScore = 80) if (InputScore = 90) if (InputScore
23、 = 90) OutputScore = OutputScore = 优秀优秀; /; /优秀优秀 else else OutputScore = OutputScore = 良好良好; /; /良好良好 else else OutputScore = OutputScore = 中等中等; /; /中等中等 28C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句 else else if (InputScore = 60) if (In
24、putScore = 60) OutputScore = OutputScore = 及格及格; /; /及格及格 else else OutputScore = OutputScore = 不及格不及格; /; /不及格不及格 Console.WriteLine( Console.WriteLine(百分制下百分制下00分经转换,为分经转换,为5 5分制下的分制下的1, 1, InputScore, OutputScore);InputScore, OutputScore); 29C#程序设计实用教程“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网
25、格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。 4.3.1 条件语句3. else if3. else if语句语句else ifelse if语句是语句是if if语句和语句和ifelseifelse语句的组合,其一般形式如下:语句的组合,其一般形式如下:if(if(表达式表达式1)1)语句语句1;1;else if(else if(表达式表达式2)2)语句语句2;2; else if(else if(表达式表达式n-1)n-1)语句语句n-1;n-1;elseelse语句语句n; n;说明:当表达式说明:当表达式1为为true时,执行时,执行语句语句1,然后跳过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 结构 程序设计 ppt 课件
限制150内