随便玩玩之C# 9 程序控制-循环for

随便玩玩之C# 9 程序控制-循环for

循环是程序设计语言中反复执行某些代码的一种计算机处理过程。
也有人叫迭代。迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复的事情交给电脑做。重复做什么,这是重复的具体内容;从哪里开始重复,这是一个条件;重复做多少次,这也是一个条件。比如说语文作业是生字写3遍。就包含了重复的具体内容和条件3遍。

1.for循环

for循环语句是最常见的循环。基本结构如下:

for (int i = 0; i < 10; i++)
{
Console.WriteLine("Hello");
}

第1行:for表示循环语句。括号内的三个语句表示是循环判断部分。

其中:

第一条语句(int i=0)是初始化表达式,声明并初始化一个局部变量i,这个变量用来计数。数字0表示从0开始计数。

第二条语句(i<10)是条件,用于确定是否继续循环。“条件”部分确定是否应执行循环中的下一个迭代。 如果计算结果为 true 或不存在,则执行下一个迭代;否则退出循环。 “条件”部分必须为布尔表达式。

第三条语句(i++)叫迭代器,表示每次循环执行后循环执行的内部操作。

i++是一个变量自增运算,即每次使用完i后自动+1。

第3行:循环执行主体语句,也叫循环体。

这个循环的作用是输出10行“Hello"。完整程序如下:

using System;

namespace ForExpression
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Hello");
            }

            Console.ReadKey();
        }
    }
}

执行结果:

 

2.WPF中的ListBox控件

新建一个WPF项目,解决方案命名为WPFListBox。

将工具箱中的Button控件拖放到WPF设计器的空白区域。选中WPF设计器中Button控件,将其Content属性修改为确定。

将工具箱中的ListBox空间拖放到WPF设计器的空白区域。调整好ListBox空间的外观大小,将其名称修改为ListBoxFor。

双击"确定"按钮,WPF转到代码编辑器里,在Button_Click()方法中输入循环代码。

private void Button_Click(object sender, RoutedEventArgs e)
        {
            for (int a = 1; a < 10; a++)
            {
                ListBoxFor.Items.Add("项目" + a);
            }
        }

 运行结果:

for循环在ListBox中添加了9个列表项,其中项目两个字是固定的文本,后面的数字是for循环的a局部变量。

for循环的局部变量a在每一次循环都进行了计数,或者说是自增。

 

 3.经典数学题:1加到100的无脑求解法。代码如下:

using System;

namespace Sum100
{
    internal class Program
    {
        static void Main(string[] args)
        {   
            int sum=0;                              //声明一个变量用于存储累加的和。
                        
            for(int q=1; q<=100; q++) {             //声明局部变量q,初始值为1,也就是从第一次循环开始累加
                                                    //设置q的最大值为100,也就是累加到100(次)。
                                                    //每执行循环一次,q自身加1,也就是准备执行下次循环。

                Console.Write("第{0}次累加的结果是:",q);    //输出一些无意义的文字。
                
                sum = sum + q;                      // 将上次结果和这次要加的数加起来存到sum变量中。

                Console.WriteLine(sum);             // 输出加完之后的结果。
            }

            Console.ReadKey();
        }
    }
}

 运行结果。

 

精简的代码,只输出结果。没有废话。

using System;

namespace Sum100
{
    internal class Program
    {
        static void Main(string[] args)
        {   
            int sum=0;                              
                        
            for(int q=1; q<=100; q++) {                         
                sum = sum + q;              
            }
            Console.WriteLine(sum); //sum的结果输出放在外面,不放在for循环内。

            Console.ReadKey();
        }
    }
}

 

参考资料:

1.for

https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/statements/iteration-statements

2.增量运算符 ++

https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/arithmetic-operators#increment-operator

3.ListBox

https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.controls.listbox

 

 其他资料:

 1+2+……+100=?你听过的《高斯求和》或许是“谣言”
正确答案是5050👏~不知道你是有特别的算术技巧还是逐个相加得出了结论😁?这是一个等差数列的求和问题,有一个公式可以轻松计算:和=(首项 + 末项)x项数 /2。传说中,这个规律是著名数学家高斯10岁时发现的。
广为流传的版本中,高斯的数学老师布置了一道从1加到100的习题,想让学生们算一整节课,结果刚说完题目高斯就报出了答案。原来,他发现数列两头可以一一配对:1+100,2+99……每一对的和都是101,共有50对,所以总和是5050。
其实,这个故事最初的版本并不是这样。
1855年2月23日,高斯去世。第二年,他的同事兼朋友萨托里尔斯出版了第一部高斯传记《高斯:回忆录》,他是这么讲述这个故事的:“年轻的高斯走进教室时,数学老师刚出了一道计算一个数列的和的题目。题目一讲完,高斯就把写有答案的写字板放在桌子上说:‘在这儿了。’”
萨托里尔斯说,这个故事高斯晚年常讲,反复讲述时从没改变过其中细节。也就是说,高斯本人并未说过自己当年计算的是什么数列,也没有说过计算方法。实际上,19世纪出的高斯传记中也都对此语焉不详。
直到1938年,德国数学家路德维格·比贝尔巴赫出版高斯传记,首次明确地说高斯算的是从1加到100,并介绍了计算方法。从那以后,这个版本几乎成了公认的史实。
虽说“高斯求和”的故事或许有后人的想象掺杂其中,但高斯的成就是不可否认的。
19岁时,高斯发现了正十七边形的尺规作图法, 并给出了可用尺规作图的正多边形的条件,这让他成了世界上第一个成功用代数方法解决几何难题的数学家。
博士毕业时,高斯发现了著名的代数基本定理,他认为任何一元代数方程都有根。高斯死后,很多数学家都证明了代数基本定理的真实性。据统计,以“高斯”命名的数学成果达110个,属数学家之最。
除此之外,高斯在其他领域也有着卓越成就。他曾用数学方法计算出天体的运行轨迹,还出了一本书叫《天体运行理论》。时至今日,高斯当年的研究仍然是天文学计算的基石。
https://www.sohu.com/a/296915067_827027

 

-EOF-


 

posted @ 2023-02-23 18:09  冲浪的奶糖  阅读(110)  评论(0编辑  收藏  举报