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

简介: 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();
 //题目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();

总结

提示:这里对文章进行总结:用思维导图展示。

94998c52c9034c6a8438709b0ef6050c.png

啸啸说
+关注
目录
打赏
0
0
0
0
4
分享
相关文章
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
1372 0
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
SQL Server下载安装及使用
打开压缩之后的【SQL Server2016】文件夹
SSL/TLS:构建数字世界的加密长城
**协议演进:从网景实验室到全球标准** 1994年,网景公司推出SSL协议,首次实现40位密钥加密传输,开启网络安全新纪元。此后,SSL 3.0、TLS 1.0相继问世,至2018年TLS 1.3将握手速度提升60%,强制前向加密确保历史会话安全。TLS协议通过非对称加密、对称加密和证书信任链等多层架构保障通信安全。2014年POODLE漏洞促使全行业禁用SSL 3.0,催生防降级机制。
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
439 6
|
11月前
|
Ctfshow web入门 PHP特性篇 web89-web151 全(二)
Ctfshow web入门 PHP特性篇 web89-web151 全(二)
304 0
阿里云斩获中国电子学会科技进步一等奖
中国电子学会正式公布“2023中国电子学会科学技术奖”名单,清华大学、阿里云、南开大学、北京必示科技完成的“大规模在线服务智能运维核心技术及产业化”获得科技进步一等奖。
637 1
Foxmail邮箱API发送邮件的步骤
使用Foxmail邮箱API发送邮件涉及五个步骤:注册开发者账号获取API密钥,配置API参数,构建邮件内容(主题、收件人、正文),通过API发送邮件请求并附带密钥,以及处理服务器返回的发送结果。AokSend提供稳定高效的发信服务,支持SMTP/API接口,适合大量邮件发送需求。确保遵循API规范以确保邮件成功送达。
通义听悟重磅升级!超长音视频自由问,还会做思维导图
通义听悟重磅升级!超长音视频自由问,还会做思维导图
307 0
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等