C#编程基础第四课:c#中的逻辑运算符、多重if语句、嵌套if语句的使用

版权声明:王迪 https://blog.csdn.net/dnruanjian/article/details/83578624

知识点:逻辑运算符、多重if语句、嵌套if语句

1、逻辑运算符

练习1:逻辑或、逻辑与运算符的使用

本次计算机考试成绩规定:笔试成绩等于100分且机试成绩大于等于60分,或笔试成绩大于等于60分且机试成绩等于100分,     输出“成绩优秀”, 否则输出“继续努力”

       static void Main(string[] args)
        {
              /*
             *用程序描述 :
             * 笔试成绩等于100分且机试成绩大于等于60分,
             * 或笔试成绩大于等于60分且机试成绩等于100分
             * 输出“成绩优秀”
             * 否则输出“继续努力”
             */
            Console.Write("请输入笔试成绩:");
            double written = double.Parse(Console.ReadLine());
            Console.Write("请输入机试成绩:");
            double lab = double.Parse(Console.ReadLine());
            if (written == 100 && lab >= 60 || written >= 60 && lab == 100)
            {
                Console.WriteLine("成绩优秀");
            }
            else
            {
                Console.WriteLine("继续努力");
            }
            Console.ReadLine();
        }

运算符的优先级:

  • 最高的优先级:小括号,即()
  • 最低的优先级:赋值运算符,即=
  • 优先级顺序:! > 算术运算符 > 比较运算符 > && > ||
  • 当运算符较多,无法确定运算符执行顺序时,可以使用小括号控制一下顺序,如(written == 100 && lab >= 60) || (written >= 60 && lab == 100)

练习2:逻辑非运算符的使用

判断输入天气,不下雨就集合,下雨则不集合

        static void Main(string[] args)
        {
            Console.WriteLine("请输入天气情况:(下雨、晴天、阴天)");
            string weather = Console.ReadLine();
            if (!(weather == "下雨"))//逻辑非运算符,当条件为真时,结果为假
            {
                Console.WriteLine("集合");
            }
            else
            {
                Console.WriteLine("不集合");
            }
            Console.ReadLine();
        }

2、多重if语句

大家在使用选择结构时,还会遇到不止判断一次的情况,这里有个例子:对学员的结业考试成绩进行评测,如果成绩大于等于90分,输出“优秀” 如果成绩大于等于80分,输出“良好” 如果成绩大于等于60分,输出“及格” ,如果成绩小于60分,输出“不及格”。分析这个示例,示例中先要判断成绩大于等于90的情况,没有90再判断成绩大于等于80的情况,没有80再判断成绩大于等于60的情况,最后是没有60的情况。程序至少要判断三次。多重选择结构可以处理这种多重判断的情况。

多重if语句的语法结构:

注意:示例中进行了两次判断,实际上多重选择结构可以进行任意多次判断,也就是说中间可以加任意多的else if子句

        static void Main(string[] args)
        {
            /*
             *如果成绩大于等于90分,输出“优秀”
             *如果成绩大于等于80分,输出“良好”
             *如果成绩大于等于60分,输出“及格”
             *如果成绩小于60分,输出“不及格”
          */
            Console.Write("请输入考试成绩:");//输出提示信息后不换行
            double score = double.Parse(Console.ReadLine());//将用户输入的成绩转换为double类型后,赋值给变量score
            if (score >= 90)
            {
                Console.WriteLine("优秀");
            }
            else if (score >= 80)
            {
                Console.WriteLine("良好");
            }
            else if (score >= 60)
            {
                Console.WriteLine("及格");
            }
            else
            {
                Console.WriteLine("不及格");
            }
            Console.ReadLine();//等待用户输入
        }

多重选择结构对于初学者来说,是非常容易出错的知识点,这里提醒一下大家:

  • 多重选择结构中每个条件判断成立后,程序会运行条件后面的代码然后结束,不会再进行后面的判断,只有不成立的情况下,才会判断后面的条件。
  • 条件的设置的顺序是:把难满足的条件放前面,容易满足的条件放后面,否则可能出错:如果把条件成绩大于等于60放前面,大于等于80放后面,那么90分的成绩,在判断时先满足前面的条件,后面的条件不会进行判断了,90分就是中等了。

应用:多重if特别适合某个变量处于某个连续区间时的情况(如学习成绩判断、商场消费赠礼)

代码练习:

用程序描述如下问题:某商场促销,如果客户消费满300元,打7折,消费200元以上,打8折,消费100元以上,打9折,其余按原价计算。

 

3、嵌套if语句

学校举行运动会,百米赛跑成绩在 12 秒以内的学生有资格进决赛,根据性别分为男子组和女子组,大于12秒就淘汰。分析下示例,大家会发现:首先,要判断是否能够进入决赛,在确定进入决赛的情况下,再判断是进入男子组,还是进入女子组。这种一个条件成立的情况下,再进行另一个条件判断的结构,就需要用嵌套选择结构完成

嵌套if语句

        static void Main(string[] args)
        {
            /*
             * 学校短跑比赛,如果比赛成绩小于等于12秒,进入决赛。
             * 如果是男生,进入男子组决赛,如果是女生,进入女子组决赛。
             * 如果比赛成绩大于12秒,则淘汰!
             */
            Console.WriteLine("请输入比赛成绩:");
            int result = int.Parse(Console.ReadLine());
            if (result <= 12)
            {
                Console.WriteLine("请输入选手性别:");
                string gender = Console.ReadLine();
                if (gender == "男")
                {
                    Console.WriteLine("进入男子组决赛");
                }
                else
                {
                    Console.WriteLine("进入女子组决赛");
                }
            }
            else
            {
                Console.WriteLine("淘汰");
            }
            Console.ReadLine();//等待用户输入
        }

代码练习:

用程序描述如下问题:某商场促销,如果客户消费满1000元,打8折,同时如果是普通会员送100元代金券,如果是VIP会员送200元代金券;不满1000元,无论是否会员均按全价计算。

猜你喜欢

转载自blog.csdn.net/dnruanjian/article/details/83578624
今日推荐