C#课件_第4章 循环结构_第1页
C#课件_第4章 循环结构_第2页
C#课件_第4章 循环结构_第3页
C#课件_第4章 循环结构_第4页
C#课件_第4章 循环结构_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、循环结构循环结构 顺序、分支、循环是结构化程序设计的顺序、分支、循环是结构化程序设计的三种基本结构,本章主要任务是学习如三种基本结构,本章主要任务是学习如何使用循环结构解决问题。何使用循环结构解决问题。主要内容主要内容nfor循环循环ndo循环循环nwhile循环循环n循环的中断循环的中断任务任务1n任务功能:任务功能: 计算计算1100之间的奇数和及偶数和之间的奇数和及偶数和 n学习目的:学习目的: 利用利用for循环解决简单问题;循环解决简单问题;程序代码 privateprivate voidvoid button1_Click( button1_Click(objectobject s

2、ender, sender, EventArgsEventArgs e) e) intint evensum=0, oddsum evensum=0, oddsum=0;=0; forfor ( (intint i = 1; i = 100; i+) i = 1; i = 100; i+) ifif (i % 2 = 0) (i % 2 = 0) evensum evensum += i; += i; elseelse oddsum oddsum += i; += i; textBox1.Text = textBox1.Text = ConvertConvert.ToString(oddsum

3、.ToString(oddsum);); textBox2.Text = textBox2.Text = ConvertConvert.ToString(evensum.ToString(evensum);); 相关知识nfor循环循环 for (初始化初始化; 布尔表达式布尔表达式; 步长步长) 循环体循环体 参数说明参数说明n初始化:用于定义和初始化循环变量的表达式,用于初始化:用于定义和初始化循环变量的表达式,用于循环开始时执行,且只执行一次。例如循环开始时执行,且只执行一次。例如int i=1,这个,这个表达式说明整型变量表达式说明整型变量i是局限于循环本身的变量,在循是局限于循环本身

4、的变量,在循环结束后,该变量即终止存在。环结束后,该变量即终止存在。n布尔表达式:这是一个结果为布尔值的表达式,用于布尔表达式:这是一个结果为布尔值的表达式,用于决定何时继续循环,何时终止循环。例如决定何时继续循环,何时终止循环。例如i 0.00001); (t 0.00001); textBox1.Text = textBox1.Text = ConvertConvert.ToString(i.ToString(i);); textBox2.Text = textBox2.Text = ConvertConvert.ToString(se.ToString(se);); 相关知识1ndo循环

5、循环 do 循环体循环体 while (布尔表达式布尔表达式);ndo语句的执行过程:首先执行循环体语句的执行过程:首先执行循环体中的语句,然后计算布尔表达式的值,中的语句,然后计算布尔表达式的值,若该值为真,则再次执行循环体中的若该值为真,则再次执行循环体中的语句;否则,退出该循环,执行语句;否则,退出该循环,执行while语句后面的第一条语句。语句后面的第一条语句。任务任务3n任务功能:任务功能: 求两数最大公约数和最小公倍数求两数最大公约数和最小公倍数n学习目的:学习目的: 学习学习while循环循环 求两自然数求两自然数m m,n n的最大公约数和最小公倍数。的最大公约数和最小公倍数。

6、设计思想:设计思想: 假设假设mnmn (1 1)m m除以除以n n得到余数得到余数r r; (2 2)若)若r=0r=0,则,则n n为最大公约数,算法结束;为最大公约数,算法结束;否则执行(否则执行(3 3);); (3 3)nmnm,rnrn,再转到(,再转到(1 1)执行。)执行。程序代码 privateprivate voidvoid button1_Click( button1_Click(objectobject sender, sender, EventArgsEventArgs e) e) intint m, n, r, t; m, n, r, t; m = m = Con

7、vertConvert.ToInt32(textBox1.Text); .ToInt32(textBox1.Text); /取两个数取两个数 n = n = ConvertConvert.ToInt32(textBox2.Text);.ToInt32(textBox2.Text); ifif (m n) t = m; m = n; n = t; (m nmn whilewhile( n 0) ( n 0) /用辗转相除法,直到用辗转相除法,直到n=0 n=0 r = m % n; r = m % n; m = n; m = n; n = r; n = r; textBox3.Text = te

8、xtBox3.Text = ConvertConvert.ToString(m.ToString(m); ); /m/m就是最大公约数就是最大公约数 t = m;t = m; m = m = ConvertConvert.ToInt32(textBox1.Text);.ToInt32(textBox1.Text); n = n = ConvertConvert.ToInt32(textBox2.Text);.ToInt32(textBox2.Text); textBox4.Text = textBox4.Text = ConvertConvert.ToString(m.ToString(m *

9、 * n) / t); n) / t); 相关知识1nwhile循环循环 while (布尔表达式布尔表达式) 循环体循环体 nwhilewhile语句的执行过程:首先计算布尔语句的执行过程:首先计算布尔表达式的值,若该值为真,则执行循表达式的值,若该值为真,则执行循环体中的语句;否则,退出该循环,环体中的语句;否则,退出该循环,执行执行whilewhile语句后面的第一条语句。语句后面的第一条语句。相关知识2n死循环死循环 while循环和循环和do循环的特殊形式,条件永远为真:循环的特殊形式,条件永远为真: while(truewhile(true) ) 循环体循环体 do do 循环体循

10、环体 while(truewhile(true););这样的循环称为死循环,除非在循环体中设这样的循环称为死循环,除非在循环体中设置跳出循环的条件。置跳出循环的条件。 任务任务4n任务功能:任务功能: s= n!,求!,求n,使得,使得s不超过不超过50000 。 n学习目的:学习目的: 学习循环的中断;学习循环的中断;程序代码 privateprivate voidvoid button1_Click( button1_Click(objectobject sender, sender, EventArgsEventArgs e) e) intint i; i; doubledouble s

11、 = 1; s = 1; forfor (i = 1; i= 100; i+) (i = 1; i 50000) (s 50000) breakbreak; ; /如果如果s50000s50000,则终止循环,则终止循环 textBox1.Text = textBox1.Text = ConvertConvert.ToString(i-1);.ToString(i-1); textBox2.Text = textBox2.Text = ConvertConvert.ToString(s/i.ToString(s/i);); 相关知识1n循环的中断循环的中断 在某些情况下,循环可以不按照预先设计

12、的那在某些情况下,循环可以不按照预先设计的那样执行,需要提前强制退出循环。样执行,需要提前强制退出循环。C#提供了提供了三种中断控制流程的关键字:三种中断控制流程的关键字:break、continue和和goto。 1、break语句语句 break语句直接跳出循环。在任务语句直接跳出循环。在任务2中,在循环中,在循环内部检查终止条件,只要内部检查终止条件,只要s50000,即可中途,即可中途退出循环。退出循环。 2、continue语句语句 continue语句仅中断本次循环,并直接进入下语句仅中断本次循环,并直接进入下次循环。次循环。 2、continue语句语句 continue语句仅中

13、断本次循环,并直接进入下语句仅中断本次循环,并直接进入下次循环。次循环。 3、goto语句语句 可以跳出循环,转到已标记好的位置。可以跳出循环,转到已标记好的位置。 任务任务5n任务功能:任务功能: 设计一个程序,求有趣的三位数,这个三位数的设计一个程序,求有趣的三位数,这个三位数的各位数字立方和等于该数字本身,它也叫水仙花各位数字立方和等于该数字本身,它也叫水仙花数。例如,数。例如,153=13+53+33,153是水仙花数。是水仙花数。 n学习目的:学习目的: 学习循环的嵌套学习循环的嵌套 程序代码 privateprivate voidvoid button1_Click( button

14、1_Click(objectobject sender, sender, EventArgsEventArgs e) e) textBox1.Text = textBox1.Text = 水仙花数是:水仙花数是: ; ; /i/i存放百位,存放百位,j j存放十位,存放十位,k k存放个位存放个位 intint i, j, k, m, n; i, j, k, m, n; forfor (i = 1; i = 9; i+) (i = 1; i = 9; i+) forfor (j = 0; j = 9; j+) (j = 0; j = 9; j+) forfor (k = 0; k = 9; k

15、+) (k = 0; k = 9; k+) m = i m = i * * 100 + j 100 + j * * 10 + k; 10 + k; n = ( n = (intint)()(MathMath.Pow(i.Pow(i, 3) + , 3) + MathMath.Pow(j.Pow(j, 3) + , 3) + MathMath.Pow(k.Pow(k, 3);, 3); ifif (m = n) (m = n) textBox1.Text = textBox1.Text textBox1.Text = textBox1.Text + + EnvironmentEnvironmen

16、t.NewLine.NewLine + + Convert Convert.ToString(m.ToString(m);); 相关知识1n循环嵌套循环嵌套 在一个循环体内又包含了一个完整的循环,在一个循环体内又包含了一个完整的循环,这样的结构称为多重循环或循环的嵌套。这样的结构称为多重循环或循环的嵌套。 例如,任务例如,任务4中的中的for循环嵌套形式:循环嵌套形式: for (i = 1; i = 9; i+) for (j = 0; j = 9; j+) for (k = 0; k n2) (n1 n2) intint t = n1; n1 = n2; n2 = t; t = n1; n

17、1 = n2; n2 = t; textBox3.Text = textBox3.Text = 两数之间的素数两数之间的素数 ; ; forfor ( (intint m = n1; m = n2; m+) m = n1; m = n2; m+) ifif (m = 1) (m = 1) continuecontinue; ; /1/1不是素数不是素数 boolbool f = f = truetrue; ; forfor ( (intint i = 2; i =m-1; i+) i = 2; i =m-1; i+) ifif (m % i = 0) f = (m % i = 0) f = falsefalse; ; breakbreak; ; ifif (f) textBox

温馨提示

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

最新文档

评论

0/150

提交评论