设为首页收藏本站【C#】第三章(1) 流程控制之顺序、选择结构
繁体中文

单小喏中文网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

单小喏中文网欢迎你的光临!!!
查看: 1468024|回复: 0

【C#】第三章(1) 流程控制之顺序、选择结构

[复制链接]

85

主题

89

帖子

1246

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1246

来自- 安徽合肥

扫一扫,手机访问本帖
发表于 2014-3-23 22:11:30 | 显示全部楼层 |阅读模式
流程控制:
一、本身我们的代码是按照从上往下,一行一行的逐语句的执行。像这样的执行顺序我们称为顺序结构
二、在很多时候,我们需要改变这种执行的顺序,比如说分支。这样执行的顺序,我们称为分支(选择)结构
1、简单的选择结构
[C#] 纯文本查看 复制代码
  int temp = 0;
            if (temp > 0)//表达式,条件成立,执行该条分支的语句
            {
                Console.WriteLine("该变量的值大于0");
            }
            if (temp <= 0)
            {
                Console.WriteLine("该变量的值小于等于0");
            }


使用如果和否则可以对以上代码进行改写
[C#] 纯文本查看 复制代码
int temp = 0;
            if (temp>0)
            {
                Console.WriteLine("该变量的值大于0");
            }
            else
            {
                Console.WriteLine("该变量的值小于等于0");
            }


在此过程中,我们需要关注几个问题:
(1)表达式条件成立可以控制选择结构执行
(2)省略大括号,if表达式只能控制一条语句
[C#] 纯文本查看 复制代码
 int temp = 0;//改变条件看看结果
            if (temp>0)
                Console.WriteLine("该变量的值大于0"); //省略大括号,if表达式只能控制一条语句
            Console.WriteLine("aaa");


(3)如果和else配合使用,if控制的语句大括号不能省略,下面的代码报错
[C#] 纯文本查看 复制代码
 int temp = 1;
            if (temp > 0)
            
                Console.WriteLine("该变量的值大于0"); //省略大括号,if表达式只能控制一条语句
                Console.WriteLine("aaa");
           
            else
            {
                Console.WriteLine("bbb");
            }


(4)else无法单独使用
2、并列选择结构
[C#] 纯文本查看 复制代码
 int a = 0, b = 2;//定义2个变量分别来确定它们值的范围
            if (b > 0) //改变b的值,不会影响到a的值判断,而且对b值的判断顺序放到a的值判断前面也不会影响到a的值判断。
            {
                Console.WriteLine("变量b>0");
            }
            else
            {
                Console.WriteLine("变量b<=0");
            }
            if (a>0)   //输入关键字,按2下tab键可以快速完成语法结构
            {
                Console.WriteLine("变量a>0");
            }
            else
            {
                Console.WriteLine("变量a<=0");
            }


3、多重(嵌套)选择结构
如果有一个变量,粗略的确定其值范围,我们划分为if(>0) else(<=0),精确的确定其值大于0大到什么程度,我们还可以在if里面进行再分(嵌套)
[C#] 纯文本查看 复制代码
//如果有一个变量,粗略的确定其值范围,我们划分为if(>0) else(<=0),精确的确定其值大于0大到什么程度,我们还可以在if里面进行再分(嵌套) 
   
  int temp = 5;
            if (temp>0)
            {
                Console.WriteLine(">0");
                if (temp>1)
                {
                    Console.WriteLine(">1");
                    if (temp>2)
                    {
                        Console.WriteLine(">2");
                    }
                }
            }
            else
            {
                Console.WriteLine("<=0");
            }


程序输出的结果
程序输出的结果.jpg

还可以对else进行嵌套
[C#] 纯文本查看 复制代码
 int temp = -5;
            if (temp>0)
            {
                Console.WriteLine(">0");
                if (temp>1)
                {
                    Console.WriteLine(">1");
                    if (temp>2)
                    {
                        Console.WriteLine(">2");
                    }
                }
            }
            else
            {
                Console.WriteLine("<=0");
                if (temp<-1)
                {
                    Console.WriteLine("<-1");
                    if (temp<-2)
                    {
                        Console.WriteLine("<-2");
                    }
                }
            }


结果如图 .jpg

对于实现用户登录的功能,我们实现的过程是排除一个个的错误,最后才是正确的登录情况,要对嵌套选择结构进行优化加以实现
[C#] 纯文本查看 复制代码
//分别改变用户名和密码的值来看看结果
 string loginid = "admin";//用户名
            string pwd = "admin";//密码
            if (loginid=="")//首先排除一种错误情况
            {
                Console.WriteLine("用户名为空");
            }
            else if (loginid!="admin")
            {
                  Console.WriteLine("用户名错误");
            }
            else if (pwd=="")
            {
                Console.WriteLine("密码为空");
            }
            else if (pwd!="admin")
            {
                Console.WriteLine("密码错误");
            }
            else
            {
                Console.WriteLine("登录成功");
            } 


以数轴的方式来进行理解
需要关注以下几个问题:
(1) 每一个错误的判断需要放表达式,而且需要保证条件成立
(2)else if检测是顺序可以改变,不会影响程序的执行,只是检测先后的问题,只要检测到一个条件成立执行,后面的语句不会执行
效率高、速度快。

本文章来源于:学玩网








上一篇:【c#】第二章(2) 运算符与表达式
下一篇:【C#】第三章(2) 流程控制之循环结构

帖子地址: 



+1
1468024°C
沙发哦 ^ ^ 马上
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
发评论,即可赢取积分欧!

申请友链|意见反馈|小黑屋|手机版|Archiver|单小喏中文网 ( 皖ICP备13012632号-1 |网站地图  

GMT+8, 2016-12-8 17:51 , Processed in 0.253778 second(s), 49 queries .

Powered by danxiaonuo

© 2013-2016 danxiaonuo.

快速回复 返回顶部 返回列表