C#学习笔记四(2018.6.16)

C Sharp

Anything one man can imagine, other men can make real.

循环结构

whiledo-whileforforeach

  • while循环
while(循环条件)
{
    循环体;
}

执行过程:
循环条件:当满足这个条件的时候,才进行循环。循环条件一般可以为bool类型的值或者关系表达式或者逻辑表达式。
程序运行到while处,首先判断while所带的循环条件是否成立,如果成立,也就是为true,则执行大括号中的循环体,当循环体执行完成一遍后,继续回到循环条件进行判断,如果成立,则执行,如果不成立,则跳出while循环。每个循环都有那么一行代码,能够改变循环条件,使之终有一天不再成立,如果程序中没有那么一行代码能够改变循环条件,那么我称之为这种循环叫做死循环。
注意:在写while循环的时候,一定要分析出循环体和循环条件。
特点:先判断,再执行,有可能一次都不执行。

  • break
    1)跳出switch-case语句。
    2)跳出循环
    break单独放到循环中没意义,一般跟if配合着使用,表示当满足某个条件的时候,跳出循环。

  • do-while循环的语法

do
{
    循环体;
}while(循环条件);

执行过程:首先执行do中的循环体,执行完成后,去判断循环条件是否成立,如果成立,则继续回到do中执行循环体,如果不成立,则跳出do-while循环。
特点:先执行,再判断,最少执行一遍循环体。

程序调试

F11 单步调试 逐语句调试
F10 逐过程
断点调试

今日代码

namespace ABC_Low_Level2
{
    class Program
    {
        static void Main(string[] args)
        {
            /*2018.06.16--->循环
             * 传智播客基础班第四天
             */

            //请用户输入年份和月份,输入该月的天数
            Console.WriteLine("请输入一个年份");
            try
            {
                int year = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入一个月份");
                try
                {
                    int mouth = Convert.ToInt32(Console.ReadLine());
                    if (mouth >= 1 && mouth <= 12)
                    {
                        int day = 0;   //存储天数
                        switch (mouth)
                        {
                            case 1:
                            case 3:
                            case 5:
                            case 7:
                            case 8:
                            case 10:
                            case 12:
                                day = 31;
                                break;
                            case 2:
                                if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
                                {
                                    day = 29;
                                }
                                else
                                {
                                    day = 28;
                                }
                                break;
                            default:
                                day = 30;
                                break;
                        }
                        Console.WriteLine("{0}年{1}月{2}天", year, mouth, day);
                    }
                    else
                    {
                        Console.WriteLine("月份需要在1-12之间");
                        Console.ReadKey();
                    }
                }
                catch
                {
                    Console.WriteLine("月份输入有误,程序退出");
                }
            }
            catch {
                Console.WriteLine("年份输入有误,程序退出");
            }
            Console.ReadKey();


            //提示用户输入yes或者no,只要不是yes或者no,就一直显示用户重新输入。
            Console.WriteLine("请输入yes或者no");
            string input = Console.ReadLine();
            while (input != "yes" && input != "no")
            {
                Console.WriteLine("只能输入yes或者no,请重新输入");
                input = Console.ReadLine();
            }
            Console.ReadKey();


            //打印100次
            int i = 0;
            while(i <= 100)
            {
                Console.WriteLine("欢迎来传智播客学习");
                i++;
            }
            Console.ReadKey();


            //计算学员成绩
            Console.Write("请输入班级人数:");
            int students = Convert.ToInt32(Console.ReadLine());  //学生人数
            int ij = 1;
            int j = 0;
            while (ij <= students) {
                Console.WriteLine("请输入学员成绩:");
                int scores = Convert.ToInt32(Console.ReadLine());  //学生成绩
                j += scores;
                i++;
            }
            double pingjunfen = j / students;
            Console.WriteLine("学员的平均成绩为{0},总成绩为{1}",pingjunfen,j);
            Console.ReadKey();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/cch860846552/article/details/80713320
今日推荐