第一种分支语句

 if(bool的表达式)   //可以直接结束

 代码

}   

else if(bool的表达式)  //可以直接结束

 {   

 代码  

 }  

 else  //否则,是最后的结束 

{

代码(Console.WriteLine("我没有想到的问题");//检查是条件是否有漏洞)

 }

if(...) {}

if(...) {}

if(...) {}// 这样的结构属于多组分支语句,计算机都会进行表达式判断

 

第二种分支语句
switch...case...

判断变量的值是什么,最后必须跟break;default有没有都可以。
switch (变量)
{
case 值: 执行代码;//可以写好几行执行代码

break;
case 值: 执行这里;break;
case 值: 执行这里;break;
default: b = "";break;
}

default相当于else。指定类型参数的默认值

switch ..case 能做的,if else 一定能做。if else能做的,swich  case不一定能做。swich case 更简洁

练习1

问我饿不饿:
饿就吃饭!
很饿就赶紧吃饭!
不饿就等会再吃!

            Console.Write("你饿不饿?");
            string a = Console.ReadLine();

            if (a == "饿")
            {
                Console.WriteLine("就吃饭!");
            }
            else if (a == "很饿")
            {
                Console.WriteLine("就赶紧吃饭");
            }
            else
            {
                Console.WriteLine("就等会再吃!");
            }

            Console.ReadKey();

 

练习2

判断学生成绩:
0-100之间才为正确的分数;// a<0 && a>100
60分以下,不及格! // a<60
60分以上,及格了! // a>=60 && a<90
90分以上,学的很棒! // a>=90 && a<100
100分,满分,好厉害! // a==100

            Console.Write("请输入成绩:");
            decimal b = Convert.ToDecimal(Console.ReadLine());

            if (b < 0 || b > 100)
            {
                Console.WriteLine("成绩输入正确。");
            }

            else if (b < 60)
            {
                Console.WriteLine("不及格!");
            }
            else if (b < 90 && b >= 60)
            {
                Console.WriteLine("及格了!");
            }
            else if (b >= 90 && b < 100)
            {
                Console.WriteLine("学的很棒!");
            }
            else if (b == 100)
            {
                Console.WriteLine("满分,好厉害");
            }


            Console.ReadLine();

 

练习3

输入姓名:
如果是张三,输出,我叫张三,我是男的!
如果是李四,输出,我叫李四,我是男的!我比张三大!
如果是小花,输出,我叫小花,我是女的!
其它名称,输出,查无此人!

            Console.Write("请输入姓名:");
            string name = Console.ReadLine();

            if (name == "张三")
            {
                Console.WriteLine("我叫张三,我是男的!");
            }
            else if (name == "李四")
            {
                Console.WriteLine("我叫李四,我是男的!我比张三大!");
            }
            else if (name == "小花")
            {
                Console.WriteLine("我叫小花,我是女的!");
            }
            else
            {
                Console.WriteLine("查无此人");
            }

            Console.ReadLine();

 

 

练习4

猜拳:
请输入你的手势: 石头剪子布
用户手势:xxx
电脑手势:xxx
xxx赢了!

            //用户输入
            Console.Write("请输入你的手势(1:石头,2:剪子,3:布):");
            int a = Convert.ToInt32(Console.ReadLine());
            //电脑输入
            Random r = new Random();
            int b = r.Next(1, 4);
            //对比输赢
            //用户赢  1,2  2,3  3,1
            //电脑赢  1,3  3,2  1,3
            //用户赢   -1    -1     2
            //电脑赢   -2     1     1
            int c = a - b;

            if (c == -1 || c == 2)
            {
                Console.Write("用户赢了");

            }
            else if (c == 0)
            {
                Console.WriteLine("平局");
            }

            else if (c == -2 || c == 1)
            {
                Console.WriteLine("电脑赢了");
            }

            Console.ReadLine();

练习5

判断当前日期是一年中的第几天:
请输入月份:
请输入日期:
此日期是一年中的第xxx天。

一月31,二月28,三月31,四月30,五月31,六月30,七月31,八月31,九月30,十月31,十一月30,十二月31

            //用户输入月份和日期
            Console.Write("请输入月份:");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入日期:");
            int b = Convert.ToInt32(Console.ReadLine());
           
            //判断用户输入的月份和日期是否正确
            if (a < 1 || a > 12)
            {
                Console.WriteLine("月份输入错误");
            }
            else if ((b < 1 ||b>31)|| (a == 2 )&&( b > 28) 
                || (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) &&( b > 31)
                || (a == 4 || a == 6 || a == 9 || a == 11) && (b > 30))//()内的表示一个独立条件
            {
                Console.WriteLine("日期输入错误");
            }
            else
            {
                //计算当前日期一年一共多少天

                int a1 = 31, a2 = 28, a3 = 31, a4 = 30, a5 = 31, a6 = 30, a7 = 31, a8 = 31, a9 = 30, a10 = 31, a11 = 30, a12 = 31;
                int c = 0;
                switch (a)
                {
                    case 1: c = b; break;
                    case 2: c = a1+b; break;
                    case 3: c = a1+a2+b; break;
                    case 4: c = a1+a2+a3+b; break;
                    case 5: c = a1+a2+a3+a4+b; break;
                    case 6: c = a1+a2+a3+a4+a5+b; break;
                    case 7: c = a1+a2+a3+a4+a5+a6+b; break;
                    case 8: c = a1+a2+a3+a4+a5+a6+a7+b; break;
                    case 9: c = a1+a2+a3+a4+a5+a6+a7+a8+b; break;
                    case 10: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+b; break;
                    case 11: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+b; break;
                    case 12: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+b; break;

                }
                Console.WriteLine(a + "" + b + "日一共" + c + "天!"); 
            }
            
            Console.ReadLine();

 

练习6

让用户输入3个数:
将这三个数,从大到小,排列打印出来。

            //用户输入三个数
            Console.Write("请输入第一个数:");
            decimal a = Convert.ToDecimal(Console.ReadLine());
            Console.Write("请输入第二个数:");
            decimal b = Convert.ToDecimal(Console.ReadLine());
            Console.Write("请输入第三个数:");
            decimal c = Convert.ToDecimal(Console.ReadLine());

            //比较大小
            //a b c a>b>c a>c>b a=b=c a=b>c
            //b a c b>a>c b>c>a b=c>a
            //c a b c>a>b c>b>a c=a>b

            if ((a > b && b > c) || (a == b && a == c) || (a == b && a > c))
            {
                Console.WriteLine("三个数的排序是:" + a + "," + b + "," + c + "");
            }
            else if (a > c && a > b)
            {
                Console.WriteLine("三个数的排序是:" + a + "," + c + "," + b + "");
            }
            else if (b > a && a > c)
            {
                Console.WriteLine("三个数的排序是:" + b + "," + a + "," + c + "");
            }
            else if ((b > c && c > a) || (b == c && c > a))
            {
                Console.WriteLine("三个数的排序是:" + b + "," + c + "," + a + "");

            }
            else if ((c > a && a > b) || (c == a && c > b))
            {
                Console.WriteLine("三个数的排序是:" + c + "," + a + "," + b + "");
            }
            else if (c > b && b > a)
            {
                Console.WriteLine("三个数的排序是:" + c + "," + b + "," + a + "");
            }

            Console.ReadLine();

运算结果

 

posted on 2016-05-19 21:07  斐雪  阅读(173)  评论(0编辑  收藏  举报