同步学习C#笔记7(循环体)

循环while

循环是C#前期学习的核心内容,是编程中最重要也是最常用的环节。

本章将优先讲解while循环。

while循环的格式和if有点像:

格式:

while(条件)
{
    循环体
}

在条件判断为true的情况下,会不断地执行循环体中的内容。直到条件变为false的时候,循环体就不再执行了。直接跳转到大括号后面

例子:

int i = 0;
while(i < 100)
{
    Console.WriteLine(i + 1);
    i++;
}

这个例子是一个简单的从1打印到100的例子。

int 定义了一个初始值为0 的值i

while(i < 100)也就是0小于100时判断为true

打印出0加1,即1,然后i++,之后再次回到判断条件,准备下次循环,直到i++到100后,判断变为false则结束循环。这就是while循环的基本用法。


技巧:单步调试

单步调试就可以让代码一步一步地执行,这样就可以看清楚每一步代码的执行过程,以此彻底了解循环的执行过程。

在vs中最左侧给主语句添加断句,使程序运行到断句后暂停。后通过逐语句(F10)和逐过程(F11)来检查。


停止死循环

如例子

            int i = 0;
            bool flag = true;
            while (flag) //死循环1~n,要求输入end键结束
            {
                Console.WriteLine(i + 1);
                i++;

                string input = Console.ReadLine();
                //想要忽略输入end中多余的空格
                input = input.Trim();//trim代表删除左边与右边的空格,即只要输出时出现end,忽略空格也能运行。

                if (input == "end")
                {
                    flag = false;
                    Console.WriteLine("结束");
                }
            }

其中,flag可以不出现,在if语句中直接使用break停止循环即可,即flag = false换成break。


for循环

1.语法

for(初始化;判断;修改变量)
{
    //循环体
}

那么,用for循环来打印1~100该如何编写?

这里具体举例

//打印1~100

for(int i = 0 ; i < 100 ; i++)
{
    Console.WriteLine(i + 1);
}

可以看出,与while相比,for循环的整体代码比while循环更短


对比while循环与for循环

while的初始化在while之外,而for循环是写在括号内第一段

while的括号内只写判断条件,而for循环的括号内第二段写判断条件

while可以不需要让变量自增,而for循环强调在括号内第三段写上变量自增

for循环将循环变量放在了循环内部,循环结束,变量消失,此外for循环的格式较为固定

符合如今的编程逻辑,循环变量在需要时初始化,使用完毕之后立即抛弃,这样的代码逻辑更简洁,更不容易出错。

反之,while循环的模式更加灵活与自由,更容易理解

但二者的执行过程类似,二者可以随意转换,只是细节和习惯的差异。我们可以根据不同的情况而灵活的使用他们。


for循环的案例1

计算1~20的和与积

 //计算1~20的和与积
            int sum1 = 0;
            long sum2 = 1;       //求积要从1开始计算,为int的范围不够时结果会输出0,可以改用long
            for (int i = 1; i <= 20; i++ )
            {
                sum1 += i;
                sum2 *= i;
            }
            Console.WriteLine( sum1 );
            Console.WriteLine( sum2 );

for循环的案例2

寻找1~100中13的倍数

            Console.Write("1~100中,13的倍数有: ");
            for (int i = 1; i <= 100; i++)
            {
                if ( i % 13 == 0) 
                {
                    Console.Write(i + " ");
                }
            }

for的双重循环案例

利用for的多重循环绘制表格

           for(int i = 1; i < 5; i++)
           {
                for (int a = 0; a < 5; a++)
                {
                    Console.Write($" {i}-{a + 1} ");
                }
                Console.WriteLine();
           }

打印结果为:

 1-1  1-2  1-3  1-4  1-5
 2-1  2-2  2-3  2-4  2-5
 3-1  3-2  3-3  3-4  3-5
 4-1  4-2  4-3  4-4  4-5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值