• C#基础知识04


    循环
    while循环的语法:
     
    whule(条件) //循环条件
    {
        要执行的语句;//循环体
    }
     
    执行过程:
    1. 判断循环条件的值.
    2. 条件值为true,执行循环体,执行完后回到判断条件.
    3. 条件值为false,跳出循环.
     
     
    do while语句:
     
    do{循环体;}
    while(条件);//注意写分好
    执行过程:
        1. 执行do后循环体,
        2. 判断条件是否成立,条件true继续执行循环体.
        3. 如果条件为false则跳出循环.
    注意:do-while循环至少会被执行一次.
    while先判断再执行.
    do-while先执行再判断.
     
     
    for 语句:
    for(表达式A(赋值);表达式B(比较);表达式C(递增.减))
    {
        循环体;
    }
    执行过程:
        1. 计算A,转向表达式B
        2. 判断表达式B条件.
        3. 如果表达式B条件为假跳出for循环.
        4. 如果表达式B条件为真执行循环体.
        5. 循环体执行完成后计算表达式C的值,再判断表达式B的值.
     
    break作用:
        1. 在switch-case中,用于跳出switch
        2. 在循环中用于跳出循环
    例:
    while()
    {
    a;b;
    break:
    c;
    }
    当运行到break将跳出循环不再执行C语句.
     
    continue作用:
         立即结束本次循环,进入下一次循环.
    例:
    for(i=0; i<10; i++)
    {
        a;b;
        continue;
        c;
    }
    当程序运行到continue语句时将不再执行c语句,直接进行i++.
     
    三元运算符
    A? B:C
    例: int num = 10>5 ? 5:6
    当A成立则表达式的值为B,不成立值为C.
    注意:表达式B和表达式C的类型一定要相兼容.
     
     
    调试程序
    通常程序错误的类型
        1. 编译错误,语法错误.
        2. 运行错误,逻辑错误.
     
    设置断点
    单步运行
    观察变量
     
     
    练习题01
    //求100-999之间的水仙花

      static void Main(string[] args)
            {
                int a, b, c, i = 0, num;

                for (num = 100; num < 999; num++)
                {
                    c = num / 100; //将百位数赋给C
                    b = num / 10 % 10;//将十位数赋给B
                    a = num % 10;//将个位数赋给C
                    if (num == c * c * c + b * b * b + a * a * a)
                    {
                        Console.WriteLine("这是一个水仙花" + num);
                        i++;
                    }

                }
                Console.WriteLine("共有{0}个水仙花", i);
                Console.ReadKey();
    ---------------------------------------------------------------
    输出结果:
    这是一个水仙花153
    这是一个水仙花370
    这是一个水仙花371
    这是一个水仙花407
    共有4个水仙花
     
     
     
    练习题02
    //输出九九乘法口诀表
    int a, b;
                for (a = 1; a <= 9; a++)//控制输出9行
                {
                    for (b = 1; b <= a; b++)//控制每行输出列数
                    {
                        Console.Write("{0}*{1}={2}\t", b, a, a*b);

                    }
                    Console.WriteLine();

                }
                Console.ReadKey();
     
    练习题03
                //循环录入5个人的年龄,并且计算平均年龄,如果录入的数据出现负数活着大于100立即停止报错
                int age, sumAge = 0, i;

                for (i = 1; i <= 5; i++)
                {
                    try
                    {
                        Console.WriteLine("请输入年龄");
                        age = Convert.ToInt32(Console.ReadLine());
                        if (age < 0 || age > 100)
                        {
                            Console.WriteLine("您输入的数据有错误");
                            break;
                        }
                        sumAge += age;
                    }
                    catch
                    {
                        Console.WriteLine("您输入的数据有错误");
                        break;
                    }         
                }
                if(i > 5)//如果i++一直自增到6那么说明for循环顺利执行完毕
                {
                    Console.WriteLine("平均年龄为" + sumAge / 5);
                }
                Console.ReadKey();
    练习题04
    /*在while中使用break实现要求用户一直输入用户名和密码 
                只要用户名不是admin 或者密码不是888888就一直输入,如果正确就提示成功.
                */

                string userName, password;
                bool flag = true;
                while (true)
                {
                    Console.WriteLine("请输入用户名");
                    userName = Console.ReadLine();

                    Console.WriteLine("请输入密码");
                    password = Console.ReadLine();

                    if (userName == "admin" && password == "888888")
                    {
                        Console.WriteLine("登陆成功!");
                        break;
                    }
                    else
                    {
                        Console.WriteLine("账户名或密码错误,请重新输入!");
                    }
  • 相关阅读:
    LintCode-Search for a Range
    LintCode-Serialization and Deserialization Of Binary Tree
    LeetCode-Reverse Words in a String
    LeetCode-Reorder List
    LeetCode-Word Break
    LeetCode-Word Ladder
    LeetCode-Valid Palindrome
    cf div2 237 D
    POJ 1759
    cf div2 238 D
  • 原文地址:https://www.cnblogs.com/zxx193/p/2966946.html
Copyright © 2020-2023  润新知