4.选择结构程序设计【0基础入门】


前言

提示:这里记录本文的大概内容:

顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行。
分支结构:if if-else
选择结构:if else-if switch-case
循环结构:while do-while for foreach


提示:以下是本篇文章正文内容,下面案例可供参考

一、if语句

语法:
if(判断条件)
{
要执行的代码;
}

判断条件:
一般为关系表达式或者bool类型的值。

执行过程:
程序运行到if处,首先判断if所带的小括号中的判断条件,如果条件成立,也就是返回true,则执行if所带的大括号中的代码,如果判断条件不成立,也就是返回一个false。则跳过if结构,继续向下执行。

if结构的特点:
先判断,再执行,有可能一行代码都不执行
用于一种情况的判断。

二、if-else语句

语法:
if(判断条件)
{
执行的代码;
}
else
{
执行的代码
}
执行过程:
程序执行到if处,首先判断if所带的小括号中的判断条件是否成立,如果成立,也就是返回一个true,则执行if所带的大括号中的代码,执行完成后,跳出if-else结构。如果if所带的小括号中的判断条件不成立,也就是返回一个false,则跳过if语句,执行else所带的大括号中的语句,执行完成后,跳出if-else结构。

if-else特点:
先判断,再执行,最少都要执行一条代码。
用于两种情况的判断

注意:else永远跟离它最近的那个if配对
下面用4个例题来说明:

/*题目1:如果老婆跪键盘的时间大于60分钟,那么奖励老婆去厕所吃屎吧*/
            Console.WriteLine("请输入老婆跪键盘的时间:");
            int mins = Convert.ToInt32(Console .ReadLine());

            //如果跪键盘的时间>60分钟,则不用做晚饭
            if (mins > 60==true) {
                Console.WriteLine("好老婆,不用跪键盘了,去厕所吃屎吧!");
            }
            else
            {
                Console.WriteLine("臭老婆继续跪着吧!");
            }
            Console.ReadKey();
/*题目2:让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了.*/
            Console.WriteLine("请输入您的年龄:");
            int age = Convert.ToInt32(Console.ReadLine());

            if (age > 23)
            {
                Console.WriteLine("恭喜你,到了结婚的年龄");
            }
            else{
                Console.WriteLine("您还没有到结婚的年龄");
            }
            Console.ReadKey();
/*题目3:如果小红的(chinese  music)
              语文成绩大于90并且音乐成绩大于80或
              语文成绩等于100并且音乐成绩大于70,则奖励100元.
            */
            Console.WriteLine("请输入小红的语文成绩:");
            int chinese = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入小红的音乐成绩:");
            int music = Convert.ToInt32(Console.ReadLine());

            if ((chinese > 90 && music > 80) || (chinese > 100 && music > 70))
            {          
                Console.WriteLine("奖励100元");                            
            }
            else
            {
                Console.WriteLine("没有奖励");
            }
            Console.ReadKey();
/*题目4:让用户输入用户名和密码,如果用户名为admin,密码为mypass,则提示登录成功.*/
            Console.WriteLine("请输入用户名:");
            string UserName = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string cipher = Console.ReadLine();
            if (UserName == "admin" && cipher == "mypass")
            {
                Console.WriteLine("登录成功!");
            }
            else {
                Console.WriteLine("登录失败!");
            }
            Console.ReadKey();

三、if else-if语句

作用:
用来处理多条件的区间性的判断。

语法:
if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}

else
{
要执行的代码;
}

执行过程:
程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,则执行该if所带的大括号中的代码,执行完成后,立即跳出if else-if结构。如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if所带的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,如果每个if所带的判断条件都不成立,就看当前这个if else-if结构中是否存在else。如果有else的话,则执行else中所带的代码,如果没有else,则整个 if-else if什么都不做。else可以省略。

/*题目5:对小明的期末成绩进行评估
             * 成绩>=90:A
             * 90>成绩>=80:B
             * 80>成绩>=70:C
             * 70>成绩>=60:D
             * 成绩<60:E
             */

            Console.WriteLine("请输入小明的期末成绩:");
            int score = Convert.ToInt32(Console.ReadLine());

            if (score >= 90) {
                Console.WriteLine("A");
            }
            if (score >= 80 &&score<90)
            {
                Console.WriteLine("B");
            }
            if (score >= 70 && score < 80)
            {
                Console.WriteLine("C");
            }
            if (score >= 60 && score < 70)
            {
                Console.WriteLine("D");
            }
            if(score<60) 
            {
                Console.WriteLine("E");
            }
            Console.ReadKey();
/*题目5:第二种解法(本题还有其它解法)*/
			Console.WriteLine("请输入小明的期末成绩:");
            int score = Convert.ToInt32(Console.ReadLine());

            if (score >= 90)
            {
                Console.WriteLine("A");
            }
            else if (score >= 80)
            {
                Console.WriteLine("B");
            }
            else if (score >= 70)
            {
                Console.WriteLine("C");
            }
            else if (score >= 60)
            {
                Console.WriteLine("D");
            }
            else 
            {
                Console.WriteLine("E");
            }
            Console.ReadKey();
 //题目6:找出3个数字中最大的数字,不考虑相等
            Console.WriteLine("请输入第一个数字:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第二个数字:");
            int num2 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第三个数字:");
            int num3 = Convert.ToInt32(Console.ReadLine());

            if (num1>num2&&num1>num3)
            {
                Console.WriteLine(num1);
            }
            if (num2 > num1 && num2 > num3)
            {
                Console.WriteLine(num2);
            }
            if (num3 > num2 && num3 > num1)
            {
                Console.WriteLine(num3);
            }
            Console.ReadKey();
/*题目7:提示用户输入密码,如果密码是“88888”则提示正确,否则要求再输入一次。
             * 如果密码是“88888”则提示正确,否则提示错误,程序结束。
             * (如果我的密码里有英文还要转换吗,密码:abc1)*/
            Console.WriteLine("请输入密码:");
            string pwd = Console.ReadLine();

            if (pwd == "88888")
            {
                Console.WriteLine("密码正确!");
            }
            else {
                Console.WriteLine("密码错误,请重新输入密码:");
                string pwd2 = Console.ReadLine();
                if (pwd2 == "88888")
                {
                    Console.WriteLine("密码正确!");
                }
                else {
                    Console.WriteLine("密码错误!");
                }
            }
            Console.ReadKey();
/*题目8:提示用户输入用户名,然后在提示输入密码,如果用户名是“admin”,
             * 并且密码是“123”,则提示正确,否则,如果用户名不是admin提示用户名不存在,
             * 如果用户名是admin提示密码错误    
             */
            Console.WriteLine("请输入您的账号");
            string UserName = Console.ReadLine();
            Console.WriteLine("请输入您的密码");
            string Pwd = Console.ReadLine();

            if (UserName=="admin" && Pwd=="123")
            {
                Console.WriteLine("成功登录!");
            }
            else if (Pwd == "123")
            {
                Console.WriteLine("用户名不存在!");
            }
            else if (UserName == "admin")
            {
                Console.WriteLine("密码错误!");
            }
            else {
                Console.WriteLine("用户名和密码都错误!");
            }
            Console.ReadKey();

总结

提示:这里对文章进行总结:用思维导图展示。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啸啸说

你的鼓励将是我创作的最大力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值