C#系列六《循环语句》
学习过前面的知识以后,我们已经可以写出一些简单的程序,例如:编写一个程序在屏幕中打印出1+2的和,太简单了?没关系一步一步来嘛,就像电影《让子弹飞》里面有一句话,饭要一口一口吃,路要一步一步走,步子迈大了,咔。。。。。。容易。。。。 哈哈! 好吧,不瞎扯了,还是看上面那个简单的程序吧。
1. 一个简单程序的实现
首先看下代码:
int i = 1;
Console.WriteLine("i+2={0}", (i + 2));
确实很简单,慢慢的提高难度,在加入之前讲过的分支结构,现在需求是,用户输入一个整数数字,根据输入的整数数字来显示该数字是奇数还是偶数。代码如下:
2 int i = Convert.ToInt32(Console.ReadLine());
3 if (i % 2 == 0)
4 {
5 Console.WriteLine("整数{0}为偶数!",i);
6 }
7 else
8 {
9 Console.WriteLine("整数{0}为奇数!",i);
10 }
好的,看下输出的结果:
确实很简单吧,那么接下来我们在来看一个需求,现在要求计算出 1 + 2 + 3 + 4 + 5的和!我们很快就成想到使用如下代码:
Console.WriteLine("(1 + 2 + 3 + 4 + 5)={0}",sum);
那么如果是 1 + 2 + 3 + 4 + 5 + 。。。。。。1000呢?
2.提出问题引入循环
在解决上面的问题之前,我需要引述C#中for循环语句,首先我们来介绍一下for语句的基本格式与语法。
- for (①;② ;④ )
- {
- ③
- }
①:循环控制变量初始化,只在第一次循环开始时执行
②:循环控制变量表达式判断
③:循环执行代码区域
④:循环控制变量增量
执行顺序就是我所编号的顺序。好那么来看一个例子,屏幕中打印1 2 3 ,代码如下:
{
Console.Write("{0} ", i);
}
Console.WriteLine();
分析一下吧:
循环第一次:首先是int i=1,接下来判断 i<=3,因为1<=3成立所以执行,Console.Write,接着i++.
循环第二次:此时经过上一轮执行i的值为2,判断2<=3从成立,继续执行Console.Write,接着i++
循环第三次:i的值为3,判断3<=3成立,继续执行Console.Write,继续i++
结束: 此时i的值经过第三次i++后,值变为4,执行条件判断区域4<=3不成立,结束循环!
执行结果如下:
解决上边遗留问题,计算:1 + 2 + 3 + 4 + 5 + 。。。。。。1000的和,介绍完循环语句我想这个时候大家就会感觉这个问题一下子就变得简单了。简单了也要贴出代码:
for (int i = 1; i <= 1000; i++)
{
sum += i;
}
Console.WriteLine(sum);
好的,问题暂时告一段落,我们来看下C#还有哪几种循环的方式.
3.C#中的几种循环
1. while 循环
基本格式与语法:
- while(①)
- {
- ②
- }
① 布尔值,也可是计算布尔的表达式
② 程序执行的代码
执行顺序为我序号的顺序,同样用屏幕显示 1 2 3的例子来诠释while循环语句:
while (i <= 3)
{
Console.Write("{0} ",i);
i++;
}
Console.WriteLine();
2. do .. while 循环
基本格式与语法:
- do
- {
- ①
- } while (②);
① 代码执行区域,与while不同的是,do ..while会先执行代码区域在执行条件区域
② 循环条件执行区域,布尔值,也可是计算布尔的表达式
执行顺序为我序号的顺序,继续用屏幕打印1 2 3的例子来诠释,代码如下:
do
{
Console.Write("{0} ", i);
i++;
} while (i<=3);
Console.WriteLine();
3. foreach
foreach我将会在后面文章介绍。
4.使用do..while构建交互性强的应用
介绍完C#循环控制语句后,我们来看一下如何用do..while语句构建交互性较好的程序,以上边的判断奇数偶数的问题为例,我们需要用户属于一个数字判断是奇数还是偶数,判断完成之后我们需要用户输入继续吗?如果用户输入Y,表示继续,否则表示停止程序。我们来看代码如下:
do
{
Console.Write("请输入一个整数:");
int i = Convert.ToInt32(Console.ReadLine());
if (i % 2 == 0)
{
Console.WriteLine("整数{0}为偶数!", i);
}
else
{
Console.WriteLine("整数{0}为奇数!", i);
}
Console.Write("继续吗?(输入Yes为继续,其他为停止):");
yon = Console.ReadLine();
} while ("yes" == yon.ToLower());
分析一下上边代码:
首先执行do中的代码段,输入数字判断奇偶,紧接着输入是否继续,根据输入的字符判断是否进行下一轮循环。执行结果如下:
循环语句就暂时介绍到这里啦!