结构化程序设计语句.ppt_第1页
结构化程序设计语句.ppt_第2页
结构化程序设计语句.ppt_第3页
结构化程序设计语句.ppt_第4页
结构化程序设计语句.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

Visual C# .NET程序设计,第五讲 结构化程序设计语句,沈志忠 北京科技大学自动化学院,结构化程序设计语句,本章要点: if语句的作用及其使用 switch语句的作用及其使用 while、dowhile和for等循环语句的作用及其使用 continue和break语句的作用及其使用,3.1 循序渐进学理论,3.1.1 if语句 1用if语句实现单分支选择结构 格式:if (表达式) 语句;,图3-1 单分支选择结构执行流程图,【例3-1】 编写一个程序实现如下功能:输入一个成绩,如果成绩大于等于60则输出“恭喜您,您通过了这次考试!”,否则不输出任何信息。要求编写成控制台应用程序。,2用if语句实现双分支选择结构,格式:if (表达式) 语句1; else 语句2;,图3-2 双分支选择结构执行流程图,【例3-2】 编写一个程序实现如下功能:输入一个成绩,如果成绩大于等于60则输出“恭喜您,您通过了这次考试!”,否则输出“对不起,准备补考吧!”。要求编写成Windows应用程序,程序的设计界面如图3-3所示,程序的运行界面如图3-4所示。,图3-3 程序设计界面,图3-4 程序运行界面,3用if语句实现多分支选择结构,格式:if (表达式1) 语句1; else if(表达式2)语句2; else if(表达式3)语句3; else 语句n;,【例3-3】 编写一个求成绩等级的程序。要求输入一个学生的考试成绩,输出其分数和对应的等级。共分五个等级:小于60分的为“E”;6069分为“D”;7079分为“C”;8089分为“B”;90分以上为“A”。要求编写成控制台应用程序。,3.1.2 switch语句,格式: switch(表达式) case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; case 常量表达式n: 语句n; break; default: 语句n+1;break; ,switch语句执行流程图,switch语句,switch语句 switch语句以关键字switch开始,后跟计算选择值的表达式,然后跟着关键字case开始的各个分支。 switch语句被执行时,表达式首先被计算,根据它的值,其中某个case分支可以被执行。 switch语句中的每个分支都以case和一个值开始。这个值必须是常量,而不能是不确定的变量。,switch语句与if语句的比较,switch语句与if语句的比较: 当需要在多个条件中选择时,简洁的switch语句要比if的嵌套语句更方便。 switch语句要输入的关键字少; switch语句“视觉清晰”并且更容易维护; 不必担心分支的分隔规则,因为switch语句的每一个分支都是用分号结束; switch语句更容易维护,因为增加一个分支时要做的只是插入几行; 通过表达式的选择switch语句更易说明哪个值对应哪个要执行的分支 。,【例3-4】 用switch语句重写例3-3。要求编写成Windows应用程序。程序的设计界面如图3-6所示,程序的运行界面如图3-7所示。,图3-6 程序设计界面,图3-7 程序运行界面,循环结构,循环结构(或称为重复结构)是使用条件表达式来控制一个(一组)动作的重复执行的。C#语言中支持的循环语句包括: 1. while循环 2. do-while循环 3. for循环,3.1.3 while循环语句,格式:while (表达式) 语句;(即循环体部分),while语句执行流程,【例3-5】编程求下式的值(要求编写成控制台应用程序):,3.1.4 dowhile循环语句,格式:do 语句; while (表达式);,dowhile语句的执行流程,【例3-6】 编一个程序按下列公式求e的值(要求精度达到1e-6)。,3.1.5 for循环语句,格式:for(表达式1;表达式2;表达式3) 语句;,图3-10 for语句的执行流程,【例3-7】 一张单据上有一个5位数的号码为6*42,其中百位数和千位数已模糊不清,但知道该数能被57和67除尽。设计一个算法,找出该单据所有可能的号码。,break语句,语法形式: break; break语句只能用于循环语句或switch语句中,如果在switch语句中执行到break语句,则立刻从switch语句中跳出,转到switch语句的下一条语句;如果在循环语句执行到break语句,则会导致循环立刻结束,跳转到循环语句的下一条语句。不管循环有多少层,break语句只能从包含它的最内层循环跳出一层。,【例3-8 】求1100之间所有素数。 using System; public class Prime public static void Main ( ) int m , k , n=0 ; for ( m =2; m=m ) Console.Write (“0,-4“, m ); if (+n %10 =0) Console.WriteLine (“n“ ); ,continue语句,格式:continue; 作用:结束本次循环,即跳过本次循环体中余下的尚未执行的语句,接着再次进行循环条件判断,以便进行下一次循环。,含有continue语句循环的一般执行流程,return语句,语法形式: return; 或 return 表达式; return语句出现在一个方法内,在方法中执行到return语句时,程序流程转到调用这个方法处。如果方法没有返回值(返回类型修饰为void),则使用return返回;如果方法有返回值,那么使用return表达式格式,其后面跟的表达式就是方法的返回值。 【例2.10】求1100之间所有素数。 using System; public class Prime100 public static bool prime (int m) for (int i=2; im ; i+) if ( m % i =0 ) return false; / 返回给调用者 return true; public static void Main ( ), int m , k , n=1 ; Console.Write (“0,-4“,2 ); for ( m =3; m100; m+=2 ) if ( prime(m) ) / 调用方法prime Console.Write (“0,-4“,m ); if (+n %10 =0) Console.WriteLine (“n“ ); Console.Read (); ,3.1.7 随机数的产生方法,在C#中要产生随机数需要使用Random类,该类位于命名空间System中,要使用Random类,应先生成该类的一个对象。 生成随机数对象后,可以调用随机数对象的Next方法得到一个随机数。 格式1:randomObj.Next() 格式2:randomObj.Next(N) 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(10); 其作用是产生一个09之间的随机整数并赋值给变量I。 格式3:randomObj.Next(N,M) 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(5,10); 其作用是产生一个59之间的随机整数并赋值给变量i。,【例3-9】 设计一个程序完成这样的功能:产生100个两位随机正整数,求这些数中所有能被3整除的数的和以及所有不能被3整除的数的各位数字和。要求编写成控制台应用程序。,3.2 典型实例练能力,3.2.1 典型实例一:根据长度和面积求矩形的高和宽 【实例题目】 使用一根长度为L厘米的铁丝,制作一个面积为S的矩形框,要求计算出满足这种条件的矩形的高h和宽w。,3.2.2 典型实例二:百钱买百鸡,【实例题目】 我国古代数学家在算经中出了一道题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”意为:公鸡每只5元,母鸡每只3元,小鸡3只1元。用100元买100只鸡,问公鸡、母鸡、小鸡各多少?要求编写成控制台应用程序。,3.3 上机练习重应用,3.3.1 上机练习一:邮包计费程序 【练习题目】 假定向国外邮寄包裹收费如下计算:首先,包裹重量四舍五入到最近的15克的倍数,然后按表3-3收费:,图3-15 程序设计界面,图3-16 程序运行界面,3.3.2 上机练习二:捉拿肇事司机,【练习题目】 一辆卡车违反交通规则,撞死行

温馨提示

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

最新文档

评论

0/150

提交评论