C#程序设计教程.ppt
《C#程序设计教程.ppt》由会员分享,可在线阅读,更多相关《C#程序设计教程.ppt(46页珍藏版)》请在课桌文档上搜索。
1、第3章 控制流程,C#程序设计教程,C#程序设计教程,书名:C#程序设计教程书号:978-7-111-56027-2作者:倪步喜 主编出版社:机械工业出版社,第3章 控制流程,3.1 分支结构1.if语句2.单步调试3.switch语句3.2 循环结构1.while循环语句2.一维数组初步3.break和continue语句4.dowhile循环语句5.for循环语句3.3 巩固训练3.4 穷举法3.5 本章小结,3.1 分支结构if语句,(1)单分支if语句语法如下:if(条件)语句序列说明:只有条件成立,语句序列才被执行;条件如果“语句序列”只有一条语句,“”可以省略。若是不成立,那么语句
2、序列不被执行。例如:if(Score 100)Console.WriteLine(输入数据错误!);,3.1 分支结构if语句,【实例 3-1】从键盘输入两个整数,要求从小到大输出它们。,1 using System;2 class Program3 4 static void Main(string args)5 6 int a,b,t;7 Console.Write(a=);8 a=int.Parse(Console.ReadLine();9 Console.Write(b=);10 b=int.Parse(Console.ReadLine();11 if(a b)12 t=a;a=b;b
3、=t;/交换两变量的值13 Console.WriteLine(0 1,a,b);14 15,3.1 分支结构if语句,(2)二分支if语句语法如下:if(条件)语句序列1/当条件成立时执行else 语句序列2/当条件不成立时执行例如:if(Score 100|Score 0)return;/终止本方法的执行并将控制返回给调用方法else Console.WriteLine(数据正确);,3.1 分支结构if语句,【实例 3-2】从键盘输入一个整数,判断其是奇数还是偶数。1 using System;2 class Program3 4 static void Main(string args
4、)5 6 int n;7 Console.Write(n=);8 n=Convert.ToInt32(Console.ReadLine();9 if(0=n%2)10 Console.WriteLine(偶数);11 else12 Console.WriteLine(奇数);13 14,3.1 分支结构if语句,(3)多分支if语句即多选一if语句,语法格式如下:if(条件1)语句序列1/当满足条件1时执行,不再判断条件2,本if语句执行结束else if(条件2)语句序列2/否则,当满足条件2时执行,然后,本if语句执行结束else if(条件3)语句序列3/否则,当满足条件3 时执行/还可
5、以加任意个“else if(条件)语句序列”else 语句序列n+1/当所有条件都不满足时执行,3.1 分支结构if语句,【实例 3-3】检查输入字符是否是小写字符、大写字符或数字,如果都不是,则输出“输入字符不是字母字符,也不是数字”。,1 using System;2 class Program3 4 static void Main()5 6 Console.Write(输入一个字符:);7 char c=(char)Console.Read();8 if(char.IsUpper(c)9 10 Console.WriteLine(大写字母);11 12 else if(char.IsL
6、ower(c)13 14 Console.WriteLine(小写字母);15 16 else if(char.IsDigit(c)17 18 Console.WriteLine(数字);19 20 else21 22 Console.WriteLine(输入字符不是字母字符,也不是数字);23 24 25,3.1 分支结构单步调试,单步调试是最常见的调试方法之一。单步调试即一步一步跟踪程序执行的流程,在单步执行过程中,程序员可以监视变量值的变化,观察变量的值与预期的值是否一致,这样可以帮助发现程序中的逻辑错误。【实例 3-4】编写一个评价成绩的程序,成绩与评价之间关系如表所示。调试运行程序,
7、观察程序的单步执行过程,观察程序中相关变量的值。,3.1 分支结构单步调试,程序主要代码如下所示。6 static void Main(string args)7 8 double Score;9 Console.Write(请输入成绩:);10 Score=Convert.ToDouble(Console.ReadLine();11 if(Score 100)12 Console.WriteLine(输入数据错误!);13 else if(Score=0 22,3.1 分支结构单步调试,开始调试前,首先要准备好测试数据,做到心中有数,测试用例考虑了边界数据。,3.1 分支结构单步调试,单步调
8、试的执行过程因人而异,下面是本实例单步调试执行的一种情形。(1)按F10功能键,启动单步执行。此时,程序调试状态如图所示。图中黄色箭头于第7行处。黄色箭头指示将要执行的下一条语句。,3.1 分支结构单步调试,(2)再按一次F10,黄色箭头如图所示。程序执行跳过了“double Score;”语句,因为该语句用来声明变量,是非执行性语句。(3)再按两次F0功能键,单步执行第10行,程序要求从键盘读取数据,程序员此时在控制台窗口中输入测试数据-1并回车后,调试状态如下图所示。本步骤要注意,当黄色箭头在“ReadLine()”行上时,不能在控制台窗口上输入-1。因为此时还未执行第10行,读键盘功能的
9、“ReadLine()”方法尚未被执行。,3.1 分支结构单步调试,(4)在变量Score上右击,在弹出的快捷菜单中选择【添加监视】,便可以将Score变量添加到监视窗口,如图所示。监视图中所示的变量Score值为-1.0,类型为double,正和预期的一致。在监视窗口中,可以编辑变量的值,以察看新值下后续的执行过程,但此处不人为更改变量Score的值。(5)继续按一次F10功能键,执行状态如下图所示。第11行中的条件成立,即将执行第12行。,3.1 分支结构单步调试,(6)继续按一次F10功能键,下一个要执行的语句是“Console.ReadKey();”,执行状态如下图 所示。此时,多选一
10、if语句已经结束执行。(7)继续按F10功能键,单步执行后续过程。,3.1 分支结构单步调试,在单步执行过程中,还可以进行其他的操作,常见的操作说明如下:1)按F11功能键,逐语句执行。它与F10功能键的区别是会进入到自定义方法内部去执行。在调试本实例时,F10与F11没有区别。2)按Shift+F11组合键,跳出由F11进入的方法。3)按F9功能键,在光标所在行设置或取消断点,调试运行时,会在断点处暂停运行。4)按F5功能键,连续调试运行,但会在断点处暂停。5)按Shift+F5组合键,停止调试。6)按Ctrl+F10组合键,运行到光标处。但事先选择的光标位置很关键,若光标处于一个不可能到达
11、的分支上时,执行过程不会暂停于光标处,而会继续执行。7)拖动黄色箭头,更改下一步要执行的语句。但是,这可能导致预料不到的运行结果。8)选择【调试】|【快速监视】命令,在打开的快捷监视对话框中监视一个表达式的值。如图 所示,图中监视一个逻辑表达式的值,其值为true。,3.1 分支结构switch语句,1)switch语句格式当一个表达式有多个取值情形时,可以用switch语句测试表达式的值等于何种情形的值。switch语句的语法如下:switch(表达式)case 可能性的值1:语句序列1 break;case 可能性的值2:语句序列2 break;/还可以加任意个类似上方的case段 def
12、ault:语句序列n+1 break;,3.1 分支结构switch语句,1)switch语句格式在使用switch语句时,必须要注意以下几方面的规定:(1)表达式的类型可以是sbyte、byte、short、ushort、uint、long、ulong、char、bool、string或枚举类型。(2)每个case中的常量表达式必须属于或能隐式转换成(1)中所指类型。(3)如果有两个或两个以上的case标签中的常量表达式相同,编译时将会报错。2)switch语句执行过程当执行switch语句时,先计算表达式的值,然后将表达式的值与case 后面“可能性的值”逐个匹配,如果与某个“可能性的值”
13、匹配成功,则进入相对应的case 代码段执行,如果匹配都不成功,则进入default部分执行。当执行到break 语句时,就终止执行当前的switch语句。【实例 3 5】将实例3_4用switch语句实现。,3.2 循环结构,1.while循环语句2.一维数组初步3.break和continue语句4.dowhile循环语句5.for循环语句,1.while循环语句,while 循环的语法:while(条件)语句块只要给定的条件为真,while循环语句会重复执行语句块。语句块中必须要有改变条件的措施与方法,使最终能从循环执行中退出来。【实例 3-6】编程求1+2+3+100的和。分析:可以设
14、计一个100次的循环,每次循环把一个加数累计到和中。因此,可设计一个计数变量i来控制循环的退出。思路如下:i=1;/初值while(i=100)/终值/把i累加到和中,因为每次循环计数变量的值与表达式中的加数相同。i+;/这就是改变循环条件的措施。步长为1,1.while循环语句,本例代码如下:1 using System;2 class Program3 4 static void Main(string args)5 6 int i=1,s=0;7 while(i=100)8 9 s+=i;10 i+;11 12 Console.WriteLine(s=+s.ToString();13 1
15、4 说明:本例循环控制中,计数变量的初值为1,终值为100,每次循环计数变量的步长值为1。,2.一维数组初步,一维数组由包含若干相同类型的数组元素(简称元素)组成,这些元素可以通过索引进行访问。元素的个数称为数组的长度。数组中的每个元素都具有唯一的索引与其相对应,元素的索引从零开始。一维数组的数组元素的索引只有一个,所有数组元素可排成连续的一行或一列。数组变量是引用类型,System.Array类是所有数组的基类,该类有Length属性,表示数组长度。数组变量位于栈(stack)中,而它引用的数组(即数组实例)在堆(heap)中。数组实例需要使用new关键字来创建。,2.一维数组初步,1)声明
16、数组语法:类型 数组变量名;如:int candidates=new int3;上面定义了整型数组变量candidates,如图 3-9所示。它引用一个具有三个整型元素的数组,这三个元素是candidates0、candidates1、candidates2,它们在空间上是连续的,它们具有默认值0。现给第一个元素赋值,可采用如下语句:candidates0=1;,2.一维数组初步,1)声明数组再如:int arr1,arr2;arr1=new int 1,2,3;arr2=arr1;上面定义了两个整型数组变量,再让arr1引用一个有3个元素的数组实例,最后让arr2也引用相同的数组实例。,2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序设计 教程

链接地址:https://www.desk33.com/p-236178.html