条件语句
分支语句和循环语句是程序里最重要的逻辑。
![](https://img2018.cnblogs.com/blog/1517599/201902/1517599-20190205225546367-1412125295.png)
IF语句、分支语句、循环语句
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace w1d4_if { class Program { static void Main(string[] args) { #region if语句 //if语句是C#中处理逻辑分支的一种语句 //if关键字(布尔表达式){ //} //如果if后的布尔表达式为true则执行关联块,否则不执行 #endregion #region if语句练习 //提示内容为大于18岁再能观看,如果大于18岁,那么在控制台输出“你看到了学习资料” Console.WriteLine("以下内容大于18岁才能观看"); Console.WriteLine("请问贵君年龄"); int age = int.Parse(Console.ReadLine()); if (age > 18) { Console.WriteLine("你看到了学习资料"); } Console.WriteLine("今天你看学习资料花了多少时间(分钟)"); int time = int.Parse(Console.ReadLine()); if (time > 60) { Console.WriteLine("今天看学习资料花了{0}分钟时间,看来你很努力哦", time); } Console.WriteLine("请输入你的年龄"); int age1 = int.Parse(Console.ReadLine()); if (age1 >= 23) { Console.WriteLine("你到了结婚年龄"); } Console.WriteLine("请输入你的语文成绩"); float chinese = float.Parse(Console.ReadLine()); Console.WriteLine("请输入你的数学成绩"); float math = float.Parse(Console.ReadLine()); Console.WriteLine("请输入你的英语成绩"); float english = float.Parse(Console.ReadLine()); bool isConditionA = chinese > 70 && math > 80 && english > 90; bool isConditionB = chinese == 100 && math == 100 && english == 100; bool isConditionC = chinese > 90 && math > 70 || english > 70; if (isConditionA || isConditionB || isConditionC) { Console.WriteLine("非常棒,继续加油"); } else { Console.WriteLine("继续努力"); } Console.WriteLine("请输入用户名"); string id1 = Console.ReadLine(); Console.WriteLine("请输入密码"); string password1 = Console.ReadLine(); string id2 = "admin"; string password2 = "123456"; if (id1 == id2) { if (password1 == password2) { Console.WriteLine("登陆成功"); } } #endregion #region if else语句 //else必须有关联的条件语句,否则会报错,错误为代码最前端显示缺少花括号 //else在所有条件语句不执行时,才执行 Console.WriteLine("请输入一个整数"); int num = int.Parse(Console.ReadLine()); if (num % 2 == 0) { Console.WriteLine("您输入的是一个偶数"); } else { Console.WriteLine("您输入的是一个奇数"); } #endregion #region if else语句练习 Console.WriteLine("请输入密码"); string password1 = Console.ReadLine(); string password2 = "888888"; if (password1 == password2) { Console.WriteLine("登陆成功"); } } Console.WriteLine("请输入一个整数"); int num = int.Parse(Console.ReadLine()); if (num % 2 == 0) { Console.WriteLine("Your input is even"); } else { Console.WriteLine("Your input is odd"); } Console.WriteLine("请输入你的年龄"); int age = int.Parse(Console.ReadLine()); bool isCondition = ((10 < age && age < 18) || (25 < age && age < 30)); if (isCondition) { Console.WriteLine("可以访问"); } else { Console.WriteLine("拒绝访问"); } Console.WriteLine("请输入第一个整数"); int num1 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个整数"); int num2 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第三个整数"); int num3 = int.Parse(Console.ReadLine()); bool isCondition1 = num1 > num2 && num1 > num3; bool isCondition2 = num2 > num1 && num2 > num3; bool isCondition3 = num3 > num1 && num3 > num1; if (isCondition1) { Console.WriteLine("最大的整数是{0}" , num1); } else if (isCondition2) { Console.WriteLine("最大的整数是{0}", num2); } else if (isCondition3) { Console.WriteLine("最大的整数是{0}", num3); } //要求用户输入一个字符,判定这个字符在0-9之间,则输出您输入了一个数字,否则输入的不是数字 while (true) { Console.WriteLine("请输入一个字符"); char inputChar = char.Parse(Console.ReadLine()); if ((int)inputChar > 48 && (int)inputChar < 57) { Console.WriteLine("您输入了一个数字"); } else { Console.WriteLine("这不是一个数字"); } Console.WriteLine();//输入空行 } #endregion #region else if语句 //else if 是一个条件语句 //else if 必须有关联在其他条件语句后面 //else if 在前一个条件语句不执行的时候执行 //用于配合if及else执行多条件多分支语句 //判定不执行,判定执行,未判定 //else if(布尔表达式){代码块} //如果布尔表达式为真则执行代码块,否则不执行 if (true) { } else if (true) { } else if (true) { } //根据学生的成绩,进行评级 //成绩 >= 90 A //成绩 >= 80 B //成绩 >= 70 C //成绩 >= 60 D //成绩 < 60 E //出现在前面的条件不能包含后面的条件 //如果包含,出现在else if前面的条件必须小于后面的条件 while(true) { Console.WriteLine("请输入学生的成绩"); int sorce = int.Parse(Console.ReadLine()); if (sorce< 60) { Console.WriteLine("E"); } else if (sorce >= 60) { if (sorce >= 70) { if (sorce >= 80) { if (sorce >= 90) { Console.WriteLine("A"); } else { Console.WriteLine("B"); } } else { Console.WriteLine("C"); } } else { Console.WriteLine("D"); } } } //从三个数中找出最大的数,不考虑相等 Console.WriteLine("请输入第一个数"); double num1 = double.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个数"); double num2 = double.Parse(Console.ReadLine()); Console.WriteLine("请输入第三个数"); double num3 = double.Parse(Console.ReadLine()); bool isCondition1 = num1 > num2 && num1 > num3; bool isCondition2 = num2 > num1 && num2 > num3; bool isCondition3 = num3 > num1 && num3 > num1; if (isCondition1) { Console.WriteLine("最大的数是{0}", num1); } else if (isCondition2) { Console.WriteLine("最大的数是{0}", num2); } else if (isCondition3) { Console.WriteLine("最大的数是{0}", num3); } Console.WriteLine("请输入密码"); string password1 = Console.ReadLine(); string password = "888888"; if (password1 == password) { Console.WriteLine("登陆成功"); } else { Console.WriteLine("密码错误,请重新输入"); string password2 = Console.ReadLine(); if (password2 == password) { Console.WriteLine("登陆成功"); } } string id = "admin"; string password = "888888"; Console.WriteLine("请输入用户名"); string id1 = Console.ReadLine(); Console.WriteLine("请输入密码"); string password1 = Console.ReadLine(); if (id1 == id) { if (password1 == password) { Console.WriteLine("登陆成功"); } else { Console.WriteLine("密码错误"); } } else { Console.WriteLine("用户名不存在"); } #endregion } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 运算符二 { class Program { static void Main(string[] args) { #region 逻辑运算符 //逻辑运算符 //返回是一个布尔值 //参数有不同要求 //&&,||,! //&& //双目运算符 //两边必须是布尔表达式 //表达式均为true的情况,返回true,其他为false //true && true 返回 true //true && false 返回 false //false && true 返回 false //false && false 返回 false //|| //双目运算符 //两边必须是布尔表达式 //表达式一个为true的情况,返回true,其他为false //表达式均为false的情况,返回false,其他为true //true || true 返回 true //true || false 返回 true //false || true 返回 true //false || false 返回 false //! //单目运算符 //右边必须是布尔表达式 //如果右边是true,返回false //如果右边是false,返回true Console.WriteLine(true || true);//true Console.WriteLine(false || true);//true Console.WriteLine(true && true);//true Console.WriteLine(true && false);//false //Console.WriteLine(324 && false);//??,C++允许所有非零整数均为true Console.WriteLine(!true);//false Console.WriteLine(!false);//true #endregion #region 条件运算符 //条件运算符 ?: //三目运算符 //第一表达式?第二表达式:第三表达式 //第一表达式必须是布尔表达式 //第二和第三表达式必须和接收的类型一致 //如果第一表达式为true时,返回第二表达式结果 //如果第一表达式为false时,返回第三表达式结果 Console.WriteLine("请输入你的血量"); int health = int.Parse(Console.ReadLine()); string message = health > 10 ? "你很安全" : "你有危险"; Console.WriteLine(message); //依次输入学生的姓名,C#语言的成绩,Unity的成绩,两门成绩都大于等于90分才能毕业,请输出最后结果 Console.WriteLine("请输入你的姓名"); string name = Console.ReadLine(); WriteLine Console.WriteLine("请输入你的C#语言的成绩"); float cSharp = float.Parse(Console.ReadLine()); Console.WriteLine("请输入你的Unity的成绩"); float unity = float.Parse(Console.ReadLine()); string message = (cSharp >= 90 && unity >= 90) ? "可以毕业" : "不能毕业"; Console.WriteLine("{0}同学,你{1}", name, message); //要求用户输入一个年份,然后判断是不是闰年? //闰年判断 //年份能被400整除(2000) //年份能被4整除,但是不能被100整除(2008) Console.WriteLine("请输入一个年份"); int year = int.Parse(Console.ReadLine()); bool conditionA = year % 400 == 0; bool conditionB = year % 4 == 0; bool conditionC = year % 100 != 0; string message = (conditionA || (conditionB && conditionC)) ? "是闰年" : "不是闰年"; Console.WriteLine(message); //比较两个数的大小,求出最大的。 Console.WriteLine("请输入第一个数字"); float num1 = float.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个数字"); float num2 = float.Parse(Console.ReadLine()); string message = (num1 > num2) ? num1 + "大" : num2 + "大"; Console.WriteLine(message); //提示用户输入一个姓名,然后在控制台输出姓名,只要输入的不是老王,就全是流氓 //1,提取数据 //姓名 //显示结果 //2,分析数据 //结果 //根据结果,分析条件 //1,老王 姓名 == "老王" //2,流氓 姓名 != "老王" Console.WriteLine("请输入一个姓名"); string nameTest = Console.ReadLine(); string nameLaoWang = "老王"; string nameLiuMang = "流氓"; string message = (nameTest == nameLaoWang) ? "你是" + nameLaoWang : "你是" + nameLiuMang; Console.WriteLine(message); #endregion } } }