- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 程序流程和异常处理(2);现实生活中的循环; 在编写程序过程中,往往出现相同类型操作需要重复出现,如实现1+2+…+100,则需要做99次加法,这类问题使用循环语句解决。即循环语句用于实现语句块的重复执行。
C#中提供了四种不同的循环机制:
for循环
while循环
do…while循环
foreach循环
foreach循环常用在遍历数组时用到。;for循环语句
for循环常常用于已知循环次数的情况,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。
格式:;功能:; for循环语句的使用
【例子】计算1+2+3+…100。使用for语句实现。
分析1:定义sum,连续写sum=sum+n;
分析2:该问题属于重复执行加法的问题,并且参与运算的两个操作数不断的按规律增加。该类问题可以通过循环进行解决。;例:求 1+2+3+...+100的值;例:求 1+2+3+...+100的值;sum = 0; i = 1;
sum = sum + i; i = i+1;
sum = sum + i; i = i+1;
sum = sum + i; i = i+1;
...........
sum = sum + i; i = i+1;
Console.WriteLine(sum);;计算1+2+…+100的for循环流程; 在窗体设计图上,双击按钮button1编写【计算】按钮的Click(单击)事件代码为:; 程序的运行结果如图所示的左图,单击“计算”按钮,将在标签上显示运行结果。;【例子】计算n!,假设n=10。
分析:该例实现阶乘的运算,可以使用改变乘数的值进行实现,使用循环可以方便的实现该类问题。程序的运行结果如图所示。;private void button1_Click(object sender, System.EventArgs e)
{
int sum,k;
sum=1;
for(k=1;k=10;k++)
{
sum=sum*k;
}
textBox1.Text=sum.ToString();
};练习: 使用for语句,编程输出1~10的每个整数的平方;for语句的常见用法(1);for语句的常见用法(2);for语句的简化:;在for循环中定义变量;可以用于不知道循环次数的情况;用于在循环时判断是否满足某个条件。
while循环语句的格式为:
while (布尔表达式)
单语句或者语句块
布尔条件表达式是每次循环开始前进行判断的条件,当条件表达式的值为真时,执行循环;否则,退出循环。该语句结构的流程图如图所示。 ;while 语句;while循环语句的使用
【例子】设有一张厚为x mm,面积足够大的纸,将它不断地对折。试问对折多少次后,其厚度可达珠穆朗玛峰的高度(8844.43 m)。
设对折后纸的厚度为h mm,计数器为n。在没有对折时,纸厚为x mm,每对折一次,其厚度是上一次的2倍,在未到达8844.43 m时,重复对折。在程序中,纸的厚度就是对折后纸的厚度,所以用一个变量h。;建立应用程序用户界面与设置对象属性,如图所示。
;private void button1_Click(object sender, System.EventArgs e)
{
int n=0;
float h;
h=float.Parse(textBox1.Text);
while (h8844430)//未到达8844.43 m时,重复对折
{
n = n + 1; //计数器为n 对折次数
h = 2 * h ;//每对折一次,其厚度是上一次的2倍
}
textBox2.Text = n.ToString();
};求 1+2+3+...+100的值改成 while 循环:;while 运行流程分析;在while循环的循环体中一般应该有使循环条件不成立的语句,否则会形成“死循环”;;i=1;
while(i=100)
{
sum = sum + i;
// i=i+1;
};
while(true) 可以形成死循环;计算1+2+…+100for循环和while 循环;例:求一个整数x所有位数之和;do…while循环非常类似于while循环。
差别在于while循环的测试条件在每一次循环开始时执行,而do…while循环的测试条件在每一次循环体结束时进行判断。同样的,do…while可以解决一些循环问题,但使用的频率较少。
do…wh
文档评论(0)