首页 > 代码库 > 12月26日提纲

12月26日提纲

一、复习: 循环。反复执行某段语句一种语法形式。

1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) {  循环体 } 循环的四要素。

循环的执行过程。初始条件--循环条件--循环体--状态改变--循环条件--。。。。。

案例:1.打印10您好。2.显示1-100的数(所有的数,奇数,偶数)。3.显示ASCII码。

2.循环的嵌套。

for( ...;... ; ...)

{

   for(...;...;...)

   {

    }

}

案例:打印各种图形——外层的循环,打印行。内层循环,打印列。

3.应用(迭代,穷举) 迭代:按照某种规律,通循环逐步推导出最终结果来。 // 结果不正确往往是方法有问题,方法不正确往往是思想有问题。

  最重要的——把迭代的规律找出来,并且用表达式表示出来。

  案例:   

1.100以内所有数的和。

  2.阶乘  

 3.年龄推导。

  4.折纸。棋盘上放粮食。

  5.猴子吃桃子。  

 6.落球   

7.兔子生兔子。

穷举:把所有可能的情况都走上一遍,根据要求找出满足条件的结来。   最重要的——能够看出是否可以用穷举来解决;如何把穷举的语法写出来。

  案例:

  1.100以内与7有关的数。

  2.硬币组合问题。1,2,5 组合出1毛5来。

  3.买东西。牙刷,香皂,洗发水。

  4.百鸡百钱,百马百石。

  5.侦察兵

  6.等式填运算符

二、新课:

1.break与continue. 这两个关键字一般放在循环的花括号里面使用。

break——结束整个循环。

continue——结束本次循环,进入下次循环。

break的案例:

    int i = 1;

    for(;;)

    {

        if(i>100)

        {

            break;

        }

        Console.Write(i+"\t");

        i++;

    }

continue的案例:

 for (int i = 1; i <= 100; i++)

 {

  if(i%2 == 0)

  {

   continue;

  }

  Console.Write(i + "\t");

 }

2.while循环 //初始条件

while(循环条件)

   {  

       //循环体  //状态的改为

    }

案例:

    int i = 1;

    int count=0; //记录与7有关的数字的个数

    while(i<=100)

    {

        if(i%7==0 || i%10==7||i/10==7)

        {

            Console.Write(i+"\t");

            count++;             //1

        }

        i++;         //2     }     //3

    Console.Write("共有"+count+"个与7相关的数");

3.do...while(循环条件)简单了解。

即使初始条件不满足循环条件,循环还会执行一次。 至少执行一次。

数组:解决同一类大量数据在内存存储和运算的功能。

分类:一维数组、二维数组、多维数组。

特点:连续,同一类数据。

一、一维数组:豆角。

定义:指定类型,指定长度,指定名称。 int[] a = new int[5];  //5是长度。从1开始算。默认5个元素初始值都是0.

int[] a = new int[5] { 90, 95, 89, 76, 99 };

int[] a = new int[5] { 90, 95, 89 }; //语法有错,后面初始化的值必须是5个。

int[] a = new int[] { 90, 95, 89, 76, 99}; //计算机会根据后面的赋值,动态计算数组的长度。

赋值: 数组名[下标数值] = 值;

int[] a = new int[5];

a[0] = 10;

a[1] = 20;

a[2] = 30;

a[3] = 40;

a[4] = 50;

取值: 数组名[下标数值];  //下标数值从0开始

 Console.WriteLine(a[3]+a[0]);

数组的好处:

1.对于大量数据来说,保存的时候,定义一个数组即可解决。

2.用循环来控制数组的下标,可以对数组进行批量操作

 例如:

    int[] a = new int[5];  //数组的批量赋值

    for (int i = 0; i < 5;i++ )

    {

        a[i] = (i + 1) * 10;

    }  //数组的批量取值。

    for (int j = 0; j < 5;j++ )

    {

        Console.WriteLine(a[j]);  //0下标。

    }

案例一:

做一个教练为6个球员打分的程序。

            //定义一个保存球员成绩的数组

            int[] a = new int[6];

            //输入

            for (int i = 0; i < a.Length; i++)

            {

                Console.Write("请输入第"+(i+1)+"个球员的成绩:");

                a[i] = Convert.ToInt32(Console.ReadLine());

            }

                        //输出

            for(int j=0;j<a.Length;j++)

            {

                Console.WriteLine("第"+(j+1)+"位球员的分数是"+a[j]+"分。");

            }

案例二:在案例一的基础上,显示球员总分和平均分。

案例三:在案例二的基础上,显示最高分和最低分,以及相应球员的代号。

案例四:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。

案例五:做一个36选7的彩票生成器。

 

12月26日提纲