版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 程序流程控制 内容简介 虽然C# 是完全的面向对象言语,但在部分的语句块内,依然要运用构造化程序设计的方法,用控制构造来控制程序的执行流程。构造化程序设计有三种根本控制构造,分别是:顺序构造、选择构造和循环构造。本章将对这三种根本构造的概念及相应的控制语句进展详细引见。目录3.1 顺序构造 3.2 选择构造3.3 循环构造3.1 顺序构造 顺序构造的执行特征为:按照语句出现的先后顺序,依次执行。 处置实践问题时,往往需求用户输入数据,然后进展相应的处置,最后由程序输出结果。控制台运用程序的输入与输出Windows运用程序的输入与输出3.1.1 赋值语句 赋值语句是程序设计中最根本的语句
2、,由于C#的赋值表达式有多种方式,因此赋值语句也表现出多样性。 常用的赋值语句有单赋值语句、复合赋值语句、延续赋值语句。不论是哪种赋值语句,根本格式都是以下两种:【格式1】变量名 = 表达式【功能】将表达式的值赋值给变量。【格式2】对象名.属性名 = 表达式【功能】将表达式的值赋值给对象的属性。3.1.1 赋值语句单赋值语句2. 复合赋值语句3. 延续赋值语句int i = 3; int j = i-1; label1.Text = 姓名;int x = 55; x -= 50;label1.Text += :;string s1, s2, s3; s1 = s2 = s3 = 延续赋值;te
3、xtBox1.Text = textBox2.Text = ;3.1.2 输入与输出 输入与输出是运用程序进展数据处置过程中的根本功能。按照运用程序的类型,大致分为控制台、Windows、Web三种运用程序的输入与输出。1 控制台运用程序的输入与输出2 Windows运用程序的输入与输出1 控制台运用程序的输入与输出 控制台输入输出,也称为规范输入输出,运用的是规范输入输出设备,即键盘和显示器。控制台运用程序的输入与输出,主要经过Console类的静态方法实现。1. 输入方法 控制台运用程序的数据输入,可以经过Console类的静态方法Read与ReadLine实现。2. 输出方法 控制台运用
4、程序的数据输出,可以经过Console类的静态方法Write与WriteLine实现,两个方法都没有前往值。 1 控制台运用程序的输入与输出1. 输入方法 Console类的静态方法Read与ReadLine(1) Read方法【格式】 Console.Read()【阐明】 Read方法只能接受一个字符,前往值是int类型;假设输入的字符不是数字,将前往该字符对应的ASCII编码。【例如】 int i = Console.Read(); char c = (char)Console.Read();1 控制台运用程序的输入与输出1. 输入方法 Console类的静态方法Read与ReadLine
5、(2) ReadLine方法【格式】 Console.ReadLine()【阐明】 ReadLine方法接受一行字符即一个字符串,回车代表输入的终了,前往值是string类型。【例如】 string s = Console.ReadLine(); 2. 输出方法 Console类的静态方法Write与WriteLine(1) Write方法【格式1】 Console.Write(X) 【功能】 将参数X指定的数据写入规范输出流普通指显示器。【阐明】 参数X是恣意类型的数据。【例如】 Console.Write(请输入一个整数:); int j = int.Parse(Console.ReadL
6、ine(); Console.Write(输入的整数为:+j);1 控制台运用程序的输入与输出2. 输出方法 Console类的静态方法Write与WriteLine(1) Write方法【格式2】 Console.Write(格式字符串,表达式列表)【功能】 按照格式字符串的商定,输出提示字符和表达式的值。【阐明】 格式字符串是由双引号括起来的字符串,里面可以包含 括起来的数字,数字从0开场,依次对应表达式列表中的表达式。【例如】 int i = 5; string s = five; Console.Write(i=0,s=1, i, s); /输出结果为:i=5,s=five1 控制台运
7、用程序的输入与输出2. 输出方法 Console类的静态方法Write与WriteLine(2) WriteLine方法【格式1】 Console.WriteLine(X)【功能】 将指定的X写入规范输出流,并以一个换行符结尾。【格式2】 Console.WriteLine(格式字符串,表达式列表)【功能】 按照格式字符串的商定,输出提示字符和表达式的值,并以一个换行符结尾。【阐明】 WriteLine方法的功能与Write方法根本一样,独一的区别是WriteLine方法调用后要换行。【例】 编写一个控制台运用程序,实现分别输入姓名和年龄后再一同输出“的年龄是岁的功能。1 控制台运用程序的输入
8、与输出 Windows运用程序的输入与输出,可以经过多种控件实现,如之前引见过的TextBox、Label、LinkLabel以及下面要引见的MessageBox音讯框等。其中,运用频率最高的是TextBox和Label。 从操作程序的用户的角度看,TextBox和Label控件的主要区别在于:Label控件是一个只能显示数据的控件,而TextBox控件既可以让用户在其中输入数据,也可以显示输出数据。【例】 编写一个Windows运用程序,实现分别输入姓名和年龄后再一同输出“的年龄是岁的功能。3.2.2 Windows运用程序的输入与输出 音讯框 音讯框是一个预定义对话框,用于向用户显示与运用
9、程序相关的信息。只需在用户呼应该音讯框后,程序才干继续运转下去。显示音讯框要显示音讯框,必需调用MessageBox类的静态方法Show。 【格式】 MessageBox.Show(参数列表); 音讯框可以显示标题、音讯、按钮和图标四部分内容,也可以只显示其中的一项或几项。1. 显示音讯框 下面给出几种常用的Show方法。 音讯框 2. 音讯框的按钮 音讯框中,除了默许的“确定按钮,还可以放置其他按钮,这些按钮可以搜集用户对音讯框中问题的呼应。一个音讯框中最多可显示3个按钮,可以根据程序要求从MessageBoxButtons枚举的成员中选择。 音讯框 3. 音讯框的图标 默许情况下,音讯框不
10、显示图标,MessageBoxIcon枚举用于指定音讯框中显示什么图标。 音讯框 4. 音讯框的前往值 单击音讯框中的某一按钮时,Show方法将前往一个DialogResult枚举值来指示对话框的前往值。【例】 实现经过音讯框输出“的年龄是岁的功能。 音讯框 3.2 选择构造 选择构造也称为分支构造,其特点是:根据给定的条件能否成立,决议从各个能够的分支中执行某一分支的相应操作。 选择构造普通分为单分支、双分支、多分支三种。if语句,用于判别特定的条件能否满足,普通用于单分支和双分支选择,也可以用于多分支选择。switch语句常用于多分支选择。3.2.1 if语句 单分支的if语句是最简单的,
11、它根据条件表达式的值决议能否要执行其后的语句块,格式如下:【格式】if (条件表达式) 语句块 ;【阐明】 条件表达式可以是关系表达式、逻辑表达式或布尔常量值true和false。 “语句块可以是单语句,也可以是多语句。假设是单语句,大括号可以省略;假设是多语句,分号可以省略。【例】输入一个整数,求绝对值。程序分析:假设是负数,取反;否那么,绝对值是这个数本身。 双分支的if语句是最常用的,它根据条件表达式的值进展判别,选择其中一个分支执行,格式如下: 【格式】if (条件表达式) 语句块1 else 语句块2 ;【例】根据输入的学生成果Score的值,显示其能否及格。3.2.1 if语句 i
12、f语句也可以用于多分支的选择构造,用来对三种或三种以上的情况进展判别。ifelse ifelse语句实践上就是if语句的嵌套,普通格式如下:【格式】if (条件表达式1) 语句块1 ; else if (条件表达式2) 语句块2 ; /其他分支 else if (条件表达式n) 语句块n ; else 语句块n+1 ; 3.2.1 if语句 3.2.2 switch语句 运用嵌套的if语句虽然可以实现多分支的选择构造,但if语句每次判别只能有两个分支,当判别的条件较多时,程序的可读性将大大降低。switch语句也称为开关语句专门用于多分支的选择构造,其语法更简单,能处置复杂的条件判别。 swi
13、tch语句有一个控制表达式,其分支语句根据控制表达式的值的不同,执行不同的语句块。switch语句的格式如下:【格式】switch (控制表达式) case 常量表达式1: 语句块1; break; case 常量表达式2: 语句块2; break; /其他分支 case 常量表达式n: 语句块n; break; default: 语句块n+1; break;3.2.2 switch语句【阐明】 “控制表达式可以是sbyte、byte、short、ushort、int、uint、long、ulong、bool、char、string或枚举类型,运用较多的是int和string类型。 switc
14、h 语句可以包括恣意数目的 case块,但是任何两个case语句都不能具有一样的值。“语句块可以是单语句,也可以是多语句。 break语句用于中断选择分支的语句运转,此处用于跳出switch语句。在switch语句中,也可运用goto语句实现语句转移,但应尽量防止运用这种方法。3.2.2 switch语句3.2.2 switch语句【阐明】 C#不支持从一个case标签显式贯穿到另一个case标签,因此在每一个 case 块包括default块的后面都必需有一个跳转语句如break;但有一个例外,这个例外是当case块中没有代码时,空case标签可以贯穿到另一个case标签,这种情况下多个ca
15、se语句可以运用同一个语句块进展处置。 default标签用来处置不匹配case语句的值,定义default标签可以加强处置相应的异常。【例】 改写输入的学生成果Score的值,显示其能否及格。3.3 循环语句 C#提供了多种方式的循环语句,包括for语句、foreach语句、while语句和dowhile语句。 3.3.1 for语句 循环次数可知【格式】for(表达式1; 表达式2; 表达式3) 循环体 ;123445循环体以外的语句63.3.1 for语句 1+2+3+100=?int i, sum = 0;for (i = 1; i = 100; i+) sum += i; int i
16、=1, sum = 0; sum += i; break;if ( ) i=100 i=i+1;3.3.1 for语句 【例】编写一个Windows运用程序,计算 a+aa+aaa+aaaa+. .+aa.an个 的值,其中a和n为19之间的整数。int a, n, num,sum;num = sum = 0;a = int.Parse(txtA.Text);n = int.Parse(txtN.Text);for (int i = 1; i = n; i+) num = num * 10 + a; sum += num; txtSum.Text = sum.ToString();3.3.2
17、while语句 while语句普通用于循环次数未知的循环构造,也可以用于循环次数可知的循环构造。 【格式】while(条件表达式) 循环体 ; 留意:1.循环体能够执行0次; 2.while(true) 永真循环,要运用break语句。3.3.2 while语句 【例】编写一个Windows运用程序,将所输入整数的各个位上的数字按相反顺序输出。8639779368aa!=0b = a%10 ; / 7str=str+b.ToString();a=a/10; /8639b = a%10 ; / 9str=str+b.ToString();a=a/10; /8633.3.3 dowhile语句 d
18、owhile语句与while语句非常类似,而dowhile语句的测试条件在每一次循环终了时进展判别,由于先执行后判别,所以致少执行一次。 【格式】do 循环体 while(条件表达式); 留意:最后的分号不能省略,否那么会提示错误。continue 与breakint n=0; m=0;for(i = 1; i=10; i+) if (i%2=0) continue; n+;for(i = 1; i=10; i+) if (i%2=0) break; m+; n=5,m=13.3.4 foreach语句 foreach语句是公用于对数组、集合等数据构造中的每一个元素进展循环操作的语句,经过它可
19、以列举数组、集合中的每个元素,并且经过执行循环可以对每一个元素进展需求的操作。foreach语句普通格式如下: 【格式】foreach(类型名 变量名 in 数组或集合称号) 循环体; 【功能】对数组或集合中的每一个元素用“变量名表示,执行循环体中的语句。3.3.4 foreach语句【阐明】 “变量名是一个循环变量,在循环中,该变量依次获取数组或集合中各元素的值,所以“类型名必需与数组或集合的类型一致。 循环体可以是单语句,也可以是多语句。假设是单语句,大括号可以省略;假设是多语句,分号可以省略。 可以在循环体中的恣意位置放置continue或break语句来终了本次循环或退出循环,brea
20、k和continue语句通常结合if语句运用。【例】利用foreach语句计算数组中的奇数和偶数的个数。3.3.5 循环的嵌套 假设一个循环称为“外循环语句的循环体内包含另一个或多个循环称为“内循环语句,称为循环的嵌套。内循环中还可以包含循环,构成多层循环。 通常把循环体内不含有循环语句的循环叫做单层循环,而把循环体内含有循环语句的循环称为多重循环。 在程序设计过程中,经常需求运用循环的嵌套来处置反复操作。而在处置反复操作时,往往又需求根据某一条件改动循环的正常流程。各种循环语句可以相互嵌套,嵌套的层数实际上无限制,但多重循环能够会导致程序的执行速度有所降低。【例】 编写一个Windows运用
21、程序,输出九九乘法表。3.3.6 跳转语句 前面引见过,可以在循环体中放置break语句来强迫终止循环,还可以在循环体中放置continue语句来终了本次循环。break语句和continue语句都是跳转语句,运用跳转语句,可以在循环的中途直接控制流程转移。 C#中提供了四种跳转语句:goto、break、continue和return语句。3.3.6 跳转语句 1. goto语句 goto转向语句可以将程序控制直接转移给由“行标签标志的语句。但goto语句只能跳转到它所在方法内的行,而且该行必需有goto可以援用的行标签。 goto语句的普通用于将控制传送给switch 语句中特定的case标签或的default标签,有时也用于跳出深嵌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林大学《足球III》2021-2022学年第一学期期末试卷
- 吉林大学《西方音乐史及欣赏Ⅱ》2021-2022学年第一学期期末试卷
- 泉州市慈善志愿活动管理办法
- 2024成套设备技术引进合同「样本」
- 轻钢龙骨与硅酸钙板结合的防火墙施工方案
- 吉林大学《数字电子技术实验》2021-2022学年期末试卷
- 隧道施工监控方案
- 吉林大学《检体诊断D》2021-2022学年第一学期期末试卷
- 2024履行合同中可能遇到的法律问题解析
- 国庆节线上营销推广方案
- 互联网护理的居家沟通唐莹教授护患沟通护患关系护士培训
- 第七单元 人民解放战争 课件 2024-2025学年部编版八年级历史上学期
- 福建省厦门市2024-2025学年上学期七年级数学期中考模拟卷
- 2023年浙江出版联团招聘考试真题
- 期中测试卷(试题)-2024-2025学年六年级上册数学苏教版
- 社群健康助理员职业技能鉴定考试题库(含答案)
- 2024年全国《劳动教育》基础知识考试题库与答案
- 人力资源规划
- 幼儿园中班社会《节约用纸》课件
- 2024-2030年中国台球的行业市场发展趋势与前景展望战略分析报告
- 仪器设备借用管理制度
评论
0/150
提交评论