首页 > 其他 > 详细

if分支语句

时间:2016-03-08 09:15:13      阅读:256      评论:0      收藏:0      [点我收藏+]

语句分类:顺序语句,选择语句(分支语句),循环语句

分支语句:
(一)
if(表达式) //表达式返回值是True或False
{
}
说明:
1.表达式返回的是bool值;
2.小括号和花括号后面不需要加分号。

(二)

if(){}else{} 二选一
若if成立,则不去走else
若if不成立,则一定会走else

 int a = 10;
            if (a > 3)
            {
                a--;
            }
            else
            {
                a++;
            }
            Console.WriteLine(a);//a=9

 

(三)
if(){}else if(){} else if(){}else{}
多选一,各种情况只能走其中之一,若上面的都没走,将执行else里面的。

若if成立,那其他的所有都不去看

若if不成立,去查看下一个else if成立不成立,若成立,剩下的全都不用看

            int a = 10;
            if (a > 9)
            {
                a++;
            }
            else if (a < 11)
            {
                a++;
            }
            else
            {
                a++;
            }

            Console.WriteLine(a);//a=11

 

(四)

            if的嵌套
            if()
            {
                if()
                {

                }
                else
                {

                }
            }
            int a = 10;
            if (a < 100)
            {
                if (a > 3 && a < 20)
                {
                    a++;
                }
                else
                {
                    a--;
                }
            }
            else
            {
                a += 10;
            }
            Console.WriteLine(a);//a=11

 

//练习
//输入一个小于等于100的整数,判断:
//是小于10的
//两位数
//是100

            Console.Write("请输入一个小于等于100的整数:");
            int a = int.Parse(Console.ReadLine());
            if (a <= 100)
            {
                if (a < 10)
                {
                    Console.WriteLine("您输入的是一个小于10的数!");
                }
                else if (a >= 10 && a < 100)
                {
                    Console.WriteLine("您输入的是一个两位数的数!");
                }
                else//100
                {
                    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//z<y
                {
                    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//z是最小的
            {
                Console.WriteLine(z);
                if (x < y)
                {
                    Console.WriteLine(x);
                    Console.WriteLine(y);
                }
                else
                {
                    Console.WriteLine(y);
                    Console.WriteLine(x);
                }
            }

            Console.ReadLine();

两个数,将a的值给b,将b的值给a
中间变量
int a = 2;
int b = 5;
int zhong = a;
a = b;
b = zhong;

  

//输入三个整数,xyz,最终以从小到大的方式输出。
//Console.WriteLine(x);
//Console.WriteLine(y);
//Console.WriteLine(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)//x最小,比较y与z
            {

                if (y < z)//x<y<z,与要求相符,不必运算
                {

                }
                else//y>z,需将y、z数值调换,可用中间变量
                {
                    zhong = y;
                    y = z;
                    z = zhong;

                }
            }

            else if (y < x && y < z)//y最小,需将y、x数值调换
            {
                zhong = x;
                x = y;
                y = zhong;//此时x最小,与前文相同情况,可直接复制代码

                if (y < z)
                {

                }
                else
                {
                    zhong = y;
                    y = z;
                    z = zhong;

                }
            }
            else//z最小,需将z、x调换
            {
                zhong = x;
                x = z;
                z = zhong;//此时x最小,与前文相同情况,可直接复制代码
                if (y < z)
                {

                }
                else
                {
                    zhong = y;
                    y = z;
                    z = zhong;

                }
            }

            Console.WriteLine(x);
            Console.WriteLine(y);
            Console.WriteLine(z);//其结果x、y、z按大小依次排列


            Console.ReadLine();

//相亲过程

//女:你有房子么?
//若有→结婚吧;没有→你有钱么?
//若有→先买房子再结婚;
//没有→你有能力么?
//有→先赚钱再买房子再结婚
//没有→拜拜

  Console.WriteLine("你有房子吗?");
            string m = Console.ReadLine();
            if (m == "")
            {
                Console.WriteLine("结婚吧");
            }
            else if (m == "没有")
            {
                Console.WriteLine("你有钱吗");
                m = Console.ReadLine();
                if (m == "")
                {
                    Console.WriteLine("先买房再结婚");
                }
                else if (m == "没有")
                {
                    Console.WriteLine("你有能力吗");
                    m = Console.ReadLine();
                    if (m == "")
                    {
                        Console.WriteLine("先赚钱再买房子再结婚");
                    }
                    else if (m == "没有")
                    {
                        Console.WriteLine("拜拜");
                    }
                }
            }

//输入学生姓名,输入考试成绩 double
//若是100,【恭喜你***,满分通过!】
//若是大于等于80小于100,【**,你很优秀,继续保持!】
//若是大于等于60小于80,【**成绩良好】
//大于等于50小于60,【**就差一点点,下次一定要至少及格!】
//小于50,【**你是笨蛋么?】

            Console.Write("请输入姓名");
            string name = Console.ReadLine();
            Console.Write("请输入成绩");
            double chengji = double.Parse(Console.ReadLine());

            if (chengji >= 0 && chengji <= 100)//成绩必须在0~100之间
            {
                if (chengji == 100)//100分的时候
                {
                    Console.WriteLine("恭喜你" + name + ",满分通过!");
                }
                else if (chengji >= 80)//80~100之间
                {
                    Console.WriteLine(name + "你很优秀,继续保持!");
                }
                else if (chengji >= 60)//60~80之间
                {
                    Console.WriteLine(name + ",成绩良好!");
                }
                else if (chengji >= 50)//50~60之间
                {
                    Console.WriteLine(name + "就差一点就能及格,下次加油!");
                }
                else//50分以下
                {
                    Console.WriteLine(name + "!!你是笨蛋么?");
                }
            }
            else//输入有误
            {
                Console.WriteLine("输入有误!");
            }             

//有一组函数: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());
            if (x < 1)
            {
                Console.Write("y=" + x);
            }
            else if (x < 10)
            {
                Console.Write("y=" + (2 * x - 1));
            }
            else
            {
                Console.Write("y=" + (3 * x - 11));
            }

 

//ax*x+bx+c=0判断是否是一元二次方程,及其根的情况。公式: ?=b*b-4*a*c.
//若?<0,则方程无解,?=0,则方程有两个相等的实根,?>0方程有两个不相等的实根。
//求解则用到另一个公式:x=(-b±√b*b-4ac)/(2*a)
//√需要用到函数Math.Sqrt()

            Console.WriteLine("求方程式ax*x+bx+c=0");
            Console.Write("请输入a=");
            double a = double.Parse(Console.ReadLine());
            if (a == 0)
            {
                Console.WriteLine("不是一元二次方程");
            }
            else//a!=0
            {
                Console.Write("请输入b=");
                double b = double.Parse(Console.ReadLine());
                Console.Write("请输入c=");
                double c = double.Parse(Console.ReadLine());
                double de = b * b - 4 * a * c;
                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//de=0
                    {
                        Console.WriteLine("方程有两个相同的实根");
                        Console.WriteLine("x1=x2=" + x1);
                    }
                }
                else//de<0
                {
                    Console.WriteLine("方程无解");
                }


            }


            Console.ReadLine();

 

if分支语句

原文:http://www.cnblogs.com/xinghun/p/5252503.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!