黑马程序员-学习总结:关于while结构

这是我刚开始学习.net时,写的第一篇总结。现在看了一遍,有些不可思议的感觉,太小儿科的问题了。不过我还是把它作为我的第一篇技术博客,为了初学时的焦头烂额,苦苦思索,更为了自勉、自励:宝剑锋从磨砺出!

 今天学到了while结构,老师讲,许多人到这个地方都会卡住,还真是,我刚开始的时候就挺迷糊。尤其是作业题,怎么也看不出哪个是循环条件,哪个是循环体,真是晕头转向。

这个时候,我想起来在刚开始学的时候,老师说过,程序员要学会计算机的思维方式。那好吧,我就试图从程序运行的顺序中来找到解题思路,巩固while结构这个知识点。

先复习一下while结构的语法:

 

while(循环条件)
{
循环体;
}
特点:先判断,再执行

 
执行过程:
1、先判断循环条件,如果条件为true,则转向2;如果条件为false,则转向3
2、执行循环体,循环体执行完后,转向1
3、跳出循环,循环结束
注意:在循环体中,一定要有那么一句话,改变循环条件中的某个变量的值,
要实现n次循环,如果i从0开始,则循环条件为i<n
n次循环,如果i从1开始,则循环条件为i<=n
因为i是控制循环次数的,所以i又叫做  循环变量
循环要考虑两个问题:
1、重复做的内容是什么
2、要循环到什么时候停止

 

开始解决问题,例如这道题:
2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
我是想把程序运行的顺序在.exe程序中都显示出来,以后再复习的时候,解题思路就比较直观,刚开始我是这么做的:
double stu = 80000;
            int year = 2006;
            while (stu < 200000)
            {
 
                Console.WriteLine("学员{0}年人数为{1}" , year, stu * 1.25);
               
                year++;
            }
            Console.WriteLine("按此增长速度,到{0}年培训学员人数将达到20万人?" , year);
            Console.ReadKey();
结果一按F6,程序就开始刷屏,我真是惊了,不过怎么也想不明白是怎么回事。然后就从头开始检查,到这一句的时候:
 Console .WriteLine("学员{0}年人数为{1}" , year, stu * 1.25);
发现了两个问题:
1、这句话还是2006年的事,学员人数就是80000,不存在stu*1.25这种事;
2、程序运行完这句话,stu这个变量开始变化,然后再写出它的变化,作用于程序的运行。
所以我就改成了这样:
double stu = 80000;
            int year = 2006;
            while (stu < 200000)
            {
 
                Console.WriteLine("学员{0}年人数为{1}" , year, stu );
                stu = stu * 1.25;
                year++;
            }
            Console.WriteLine("按此增长速度,到{0}年培训学员人数将达到20万人" , year);
            Console.ReadKey();
  然后程序就能正常运行了,hooray!!
把这个思考过程写出来,就是想与跟我一样的广大菜鸟们共勉:菜鸟变黑马,努力才有可能!

posted on 2013-02-18 20:07  大方帝国  阅读(148)  评论(0)    收藏  举报

导航