一、背景:
因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教。
二、简介
C#提供以下类型的判断语句:
- if语句
- if-else语句
- if else-if语句
- cash-swith语句
本文章将逐一讲解if、if-else、if else-if、cash-swith的语句。
三、 if语句
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
1.语法:
if(判断条件)
{
要执行的代码;
}
判断条件:一般为关系表达式或者布尔类型。
执行过程:程序运行到if处,首先判断if所带的小括号中的判断条件。如果条件成立返回true,则执行if大括号的代码,如果条件成立,也就返回一个false,则跳过if结构,继续向下执行。
特点:先判断在执行,有可能一条代码也不执行。
用于一种情况的判断
2.流程图:
3.实例:
练习:如果跪键盘的时间大于60分钟,那么媳妇奖励我晚饭不用做了
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _09if结构 { class Program { static void Main(string[] args) { //如果跪键盘的时间大于60分钟,那么媳妇奖励我晚饭不用做了 Console.WriteLine("请输入你跪键盘的时间"); int mins = Convert.ToInt32(Console.ReadLine()); //如果跪键盘的时间>60分钟,不用做晚饭 if (mins > 60) { Console.WriteLine("好老公,不用跪键盘"); } Console.ReadKey(); } } }
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _09if结构 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //如果跪键盘的时间大于60分钟,那么媳妇奖励我晚饭不用做了 14 Console.WriteLine("请输入你跪键盘的时间"); 15 int mins = Convert.ToInt32(Console.ReadLine()); 16 //如果跪键盘的时间>60分钟,不用做晚饭 17 18 if (mins > 60) 19 { 20 21 Console.WriteLine("好老公,不用跪键盘"); 22 23 } 24 Console.ReadKey(); 25 } 26 } 27 } 28 29
四、 if-else 语句
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
1.语法:
If(判断条件)
{
执行的代码;
}
else
{
执行的代码;
}
2.执行过程:
程序执行到if处,首先判断if的小括号是判断条件是否成立,如果成立,则返回一个true,则执行if所带大括号中的代码,执行完成后,跳出if-else结构。
如果if所带的小括号的判断条件不成立,也就是返回一个false。则跳出if语句,执行else所带大括号中的语句,执行完成后,跳出if-else结构。
3.特点:
先判断,再执行,最少执行一条代码
用于两种情况的判断
注意:else永远跟离它最近的那个if配对
4.流程图:
5.实例:
练习1:让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了.
1 2 //1.让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到结婚的年龄 . 3 4 5 Console.WriteLine("请输入你的年龄"); 6 int Age = Convert.ToInt32(Console.ReadLine()); 7 if (Age >= 23) 8 { 9 Console.WriteLine("你到结婚年龄"); 10 11 12 } 13 else 14 { 15 Console.WriteLine("未到合法年龄结婚"); 16 } 17 Console.ReadKey();
练习2:如果老苏的(chinese music):
—语文成绩大于90并且音乐成绩大于80
—语文成绩等于100并且音乐成绩大于70,则奖励100元.
1 Console.WriteLine("请输入你的语文成绩"); 2 int Chinese = Convert.ToInt32(Console.ReadLine()); 3 Console.WriteLine("请输入你的音乐成绩"); 4 int Music = Convert.ToInt32(Console.ReadLine()); 5 if ((Chinese > 90 && Music > 80) || (Chinese == 100 && Music > 70)) 6 { 7 Console.WriteLine("小苏,给你奖励100元哦"); 8 9 } 10 11 else 12 { 13 Console.WriteLine("你需要努力哦"); 14 } 15 16 Console.ReadKey();
练习3:让用户输入用户名和密码,如果用户名为admin,密码为mypass,则提示登录成功。
Console.WriteLine("请输入你的用户名"); string UserName = Console.ReadLine(); Console.WriteLine("请输入你的密码"); string Pwd = Console.ReadLine(); if (UserName == "admin" && Pwd == "mypass") { Console.WriteLine("登录成功"); } else { Console.WriteLine("登录名或密码错误,请重新登录"); } Console.ReadKey();
五、if else-if
1.作用:
用来处理多条件的区间性的判断。
2.语法:
if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
........
else
{
要执行的代码;
}
3.执行过程:
程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,则执行该if所带的大括号中的代码,执行完成后,立即跳出if else-if结构。
如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if所带的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,如果 每个if所带的判断条件都不成立,就看当前这个if else-if结构中是否存在else。
如果有else的话,则执行else中所带的代码,如果没有else,则整个 if-else if神马都不做。else可以省略。
4.流程图
5.实例:
练习1:学员的结业考试成绩评测,成绩>=90:A,90>成绩>=80:B,80>成绩>=70:C,70>成绩>=60:D,成绩<60:E
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _09if结构 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 14 //学员的结业考试成绩评测 15 // 成绩>=90:A 16 //90>成绩>=80:B 17 //80>成绩>=70:C 18 //70>成绩>=60:D 19 //成绩<60:E 20 Console.WriteLine("请输入学员的考试成绩"); 21 int socre = Convert.ToInt32(Console.ReadLine()); 22 if (socre >= 90) 23 { 24 Console.WriteLine("A"); 25 26 } 27 28 else if (socre >= 80) 29 { 30 Console.WriteLine("B"); 31 } 32 else if (socre >= 70) 33 { 34 Console.WriteLine("C"); 35 } 36 else if (socre >= 60) 37 { 38 Console.WriteLine("D"); 39 } 40 else 41 { 42 Console.WriteLine("E"); 43 } 44 45 Console.ReadKey(); 46 47 } 48 } 49 }
练习2:比较3个数字的大小 不考虑相等
Console.WriteLine("请输入第一个数字"); int numberOne = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第二个数字"); int numberTwo = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入第三个数字"); int numberThree = Convert.ToInt32(Console.ReadLine()); //三种情况 应该使用 if else-if来做 //如果第一个数字大于二个数字并且而大于三个数字 if (numberOne > numberTwo && numberOne > numberThree) { Console.WriteLine(numberOne); } //如果第二个数字大于一个数字并且也大于三个数字 else if (numberTwo > numberOne && numberTwo > numberThree) { Console.WriteLine(numberTwo); } //第三个数字大于第二个数字并且大于一个数字 else { Console.WriteLine(numberThree); } Console.ReadKey();
六、switch-case
1.作用:
用来处理多条件的定值的判断。
2.语法:
switch(变量或者表达式的值)
{
case 值1:要执行的代码;
break;
case 值2:要执行的代码;
break;
case 值3:要执行的代码;
break;
..........
default:要执行的代码;
break;
}
3.执行过程:
程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构,什么都不做。
4.实例
练习1:李四的年终工作评定,如果定为A级,则工资涨500元, 如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元.设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.
1 bool b = true; 2 double salary = 5000; 3 Console.WriteLine("请输入李四的年终评定(A、B、C、D、E)");//A、B、C、 4 D、E 5 string level = Console.ReadLine(); 6 7 switch (level) 8 { 9 case "A": 10 salary += 500; 11 break; 12 case "B": 13 salary += 200; 14 break; 15 case "C": break; 16 case "D": 17 salary -= 200; 18 break; 19 case "E": 20 salary -= 500; 21 break; 22 default: 23 Console.WriteLine("输入的有误,请重新输入"); 24 b = false; 25 break; 26 } 27 if (b) 28 { 29 Console.WriteLine("李四明年的工作是{0}元", salary); 30 } 31 32 Console.ReadKey();
练习2:让用户输入姓名,然后显示出这个人上辈子是什么职业。
1 Console.WriteLine("请输入姓名,我们将显示出来这个人上辈子的职业"); 2 string name = Console.ReadLine(); 3 //老杨,老苏,老邹,老马,老虎,老牛 4 switch (name) 5 { 6 case "老杨": 7 Console.WriteLine("上辈子是抽大烟"); 8 break; 9 case "老苏": 10 Console.WriteLine("上辈子是贵妃"); 11 break; 12 case "老邹": 13 Console.WriteLine("上辈子是驸马爷"); 14 break; 15 case "老马": 16 case "老牛": 17 Console.WriteLine("上辈子是农民"); 18 break; 19 20 default: 21 Console.WriteLine("不知道他上辈子是的职业"); 22 break; 23 } 24 25 Console.ReadKey();
转载请注明出处,商用请征得作者本人同意,谢谢!!!