语句分为三类:顺序语句,选择语句(分支语句),循环语句
今天的主要内容是选择语句(分支语句):
(一)
if(表达式) //表达式返回值是True或False
{
}
说明:
1.表达式返回的是bool值;
2.小括号和花括号后面不需要加分号。
(二)
if(表达式)
{
}
else
{
}
(三)
if(表达式)
{
}
else if
{
}
else if
{
}
...
else
{
}
各种情况只能走其中之一,若上面的都没走,将执行else里面的。
(四)
if(表达式) //if嵌套
{
if()
{}
else
{}
}
else
{
if()
{}
}
案例分析:
一、
输入一个小于等于100的整数,判断:
是小于10的
两位数
是100
Console.Write("请输入一个小于等于100整数:a="); int a = int.Parse(Console.ReadLine()); if (a <= 100) { if (a < 10) { Console.WriteLine("这个数是小于10的!"); } else if (a >= 10 && a < 100) { Console.WriteLine("这个数是个两位数!"); } else { Console.WriteLine("这个数是100!"); } } else { Console.WriteLine("您的输入有误!"); } Console.ReadLine();
二、输入三个整数,xyz,最终以从小到大的方式输出。
Console.Write("请输入整数:x="); int x = int.Parse(Console.ReadLine()); Console.Write("请输入整数:y="); int y = int.Parse(Console.ReadLine()); Console.Write("请输入整数:z="); int z = int.Parse(Console.ReadLine()); if (x < y && x < z) { Console.WriteLine(x); if (y < z) { Console.WriteLine(y); Console.WriteLine(z); } else { Console.WriteLine(z); Console.WriteLine(y); } } else if (y < x && y < z) { Console.WriteLine(y); if (x < z) { Console.WriteLine(x); Console.WriteLine(z); } else { Console.WriteLine(z); Console.WriteLine(x); } } else { Console.WriteLine(z); if (y < x) { Console.WriteLine(y); Console.WriteLine(x); } else { Console.WriteLine(x); Console.WriteLine(y); } } Console.ReadLine();
三、
输入三个整数,xyz,最终以从小到大的方式输出。x永远最小而z最大
//利用中间变量
Console.Write("请输入整数:x="); int x = int.Parse(Console.ReadLine()); Console.Write("请输入整数:y="); int y = int.Parse(Console.ReadLine()); Console.Write("请输入整数:z="); int z = int.Parse(Console.ReadLine()); int zhong; if (x < y && x < z) { if (y < z) { } else { zhong = z; z = y; y = zhong; } } else if (y < x && y < z) { zhong = x; x = y; y = zhong; if (y < z) { } else { zhong = z; z = y; y = zhong; } } else { zhong = x; x = z; z = zhong; if (y < z) { } else { zhong = x; x = z; z = zhong; } } Console.WriteLine("x=" + (x)); Console.WriteLine("y=" + (y)); Console.WriteLine("z=" + (z)); Console.ReadLine();
四、
相亲过程:
女:你有房子么?
若有→结婚吧;没有→你有钱么?
若有→先买房子再结婚;
没有→你有能力么?
有→先赚钱再买房子再结婚
没有→拜拜
Console.Write("女生问:你有房子吗?"); string a = Console.ReadLine(); if (a == "有") { Console.WriteLine("那就结婚吧!"); } else if (a == "没有") { Console.Write("女生问:你有钱吗?"); a = Console.ReadLine(); if (a == "有") { Console.WriteLine("先买房子再结婚!"); } else { Console.Write("女生问:你有能力吗?"); a = Console.ReadLine(); if (a == "有") { Console.WriteLine("先赚钱再买房子再结婚!"); a = Console.ReadLine(); } else { Console.WriteLine("拜拜!"); } } } Console.ReadLine();
五、
输入学生姓名,输入考试成绩 double
若是100,【恭喜你***,满分通过!】
若是大于等于80小于100,【**,你很优秀,继续保持!】
若是大于等于60小于80,【**成绩良好】
大于等于50小于60,【**就差一点点,下次一定要至少及格!】
小于50,【**你是笨蛋么?】
Console.Write("请输入您的姓名:"); string name = Console.ReadLine(); Console.Write("请输入您的成绩:"); double s = double.Parse(Console.ReadLine()); if (s >= 0 && s <= 100) { if (s == 100) { Console.WriteLine("恭喜你" + name + ",满分通过!"); } else if (s >= 80) { Console.WriteLine(name + ",你很优秀,继续保持!"); } else if (s >= 60) { Console.WriteLine(name + "成绩良好!"); } else if (s >= 50) { Console.WriteLine(name + "就差一点点,下次一定要至少及格!"); } else if (s < 50) { Console.WriteLine(name + "你是笨蛋么?"); } } else { Console.WriteLine("您的输入有误!"); } Console.ReadLine();
六、
有一组函数:y = x (x<1);
y = 2x -1 (1<=x<10);
y = 3x-11 (x>=10)。
括号内是x的满足条件。
实现功能,随意输入一个x值,输出y的值。
Console.Write("请输入一个数值:x="); double x = double.Parse(Console.ReadLine()); double y; if (x < 1) { Console.WriteLine("y=" + x); } else if (x < 10) { Console.WriteLine("y=" + (2 * x - 1)); } else { Console.WriteLine("y=" + (3 * x - 11)); } Console.ReadLine();
七、
a*x*x+b*x+c=0,判断方程是否是一元二次方程和根的情况。并根据公式得出相应的根。
先判断方程是否是一元二次方程,有几个根,再求根。
判断有几个根:de=0;de>0;de<0 ;de=b * b - 4 * a * b;
求根公式 x=(-b+Math.Sqrt(de))/(2*a)或 x=(-b-Math.Sqrt(de))/(2*a)
Console.WriteLine("输入方程式:a*x*x+b*x+c=0"); Console.Write("请输入:a="); double a = double.Parse(Console.ReadLine()); Console.Write("请输入:b="); double b = double.Parse(Console.ReadLine()); Console.Write("请输入:c="); double c = double.Parse(Console.ReadLine()); double de = b * b - 4 * a * b; if (a == 0) { Console.WriteLine("此方程不是一元二次方程。"); } else { Console.WriteLine("此方程是一元二次方程。"); if (de >= 0) { double x1 = (-b + Math.Sqrt(de)) / (2 * a); double x2 = (-b - Math.Sqrt(de)) / (2 * a); if (de > 0) { Console.WriteLine("此方程有两个不同的实根。"); Console.WriteLine("x1=" + x1 + ",x2=" + x2); } else { Console.WriteLine("此方程有两个相同的实根。"); Console.WriteLine("x1=x2=" + x2); } } else { Console.WriteLine("此方程无实根。"); } } Console.ReadLine();