C#编程自学之流程控制语句

在前面的文章中我们不难看出来,我们程序的执行顺序是从上到下顺序执行的,那么有时候我们需要程序在某个条件成立时,执行指定的代码片段,那么怎么样来控制这样流程呢?这个就是我们今天这篇文章所需要讨论的。那么开始吧!
一、if esle 语句
1.关系型运算符
说到分支语句必定会牵扯到条件,例如当满足一个条件的时候去执行指定的代码段,那么如何构建条件?这个时候我们就需要先了解一下运算符中的《关系型运算符》!请看下表:

看完表格后我们来介绍下什么是关系型运算符,关系型运算符就是对我们程序中的数据进行比较,当满足条件就返回一个为真的Bool类型变量。注意:C#中的关系运算符只能返回true与false。
那么我们在来看看关系运算符之间的优先级,假如我们将关系运算符分为两个级别的优先级为:一级(高优先级)二级(低优先级)
那么一级的有: < , > , <= , >=
二级的有:  == , != 
由此看来当多个关系运算符出现在表达式中时,程序会根据优先级级别来确定先比较哪一部分!
请看如下程序:

if (10 > 5 == 10 < 5) { }
//程序判断步骤: 因为运算符 > , < 的优先级高于 ==
//那么程序解析如下  if([10大于5返回true]->true == [10不小于5返回false]->false)
//那么下一步解析如下 if(true == false) [因为true 不等于false ]所以最终表达式返回false条件不成立

2.if、else
了解完关系运算符后我们来看看C#控制程序流程的语句if、else,if、else的意思就是如果、那么。从字面意思我们可以看出来这组语句可以用来帮助我们判断程序中的逻辑。例如 如果 a > b 的话,在屏幕打印a+ b的和,那么(那么的意思就是a > b不成立的时候)。我们还是来看个例子吧!
假如:需要设计一个程序来让用户输入两个数字平且计算两个数字的和,当和大于10的时候在屏幕中打印“a + b的和大于10” 否则我们打印 “a + b 的和小于10”!

Console.Write("请输入a的值:");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入b的值:");
int b = Convert.ToInt32(Console.ReadLine()); 

//判断a + b 的和是否大于10
if (a + b > 10) //注意算数运算符的优先级高于关系运算符所以表达式先计算a+b 后判断是否大于10
{
  //如果大于10执行这里
  Console.WriteLine("a + b 的和大于10");
}
else
{
  //否则执行这里
  Console.WriteLine("a + b 的和小于10");
}

好的!那么我们来分析一下,前面的代码就不说了相信大家都可以看懂,我们就从第7行开始看,这时假设用户已经数据了数据a为6 、b为5!
第7行if语句的表达式中根据运算符优先级先计算a + b的和为11.
紧接着判断11是否大于10 (11 > 10),11明显大于10 所以表示返回true当表达式返回true就执行if下面{}中的代码段, 所以程序会输出 “a + b 的和大于10”
如果用户数输入a = 5 、b=3 那么和不大于10 程序自然而然也就输出“a + b 的和小于10”
以下是两种情况的输出结果:

3.条件运算符
看完了C#基本的分支语句之后我们可能会想到,当我一次判断中出现多个条件时应该如何处理?例如条件为:当姓名为王波洋并且年龄为24时,这种条件我们应该如何表示?这时条件运算符又闪亮登场啦。当有了条件运算符时构建这种多条件的表达式就轻松了许多,那么我们来看看C#都有哪些条件运算符:

还是用一个例子带过,需求如下:用户输入年龄,当年龄在20 30中间显示“你很年轻”, 否则就显示 “你的年龄不满足我的要求”,代码如下:

Console.Write("请输入您的年龄:");
int age = Convert.ToInt32(Console.ReadLine());

//判断年龄是否大于20 在判断年龄是否小于30
//随后在进行逻辑运算
if (age > 20 && age < 30) //注意关系运算符的优先级高于逻辑运算符所以表达式先判断age >20 与 age < 30 后进行逻辑与
{
   //如果年龄大于20小于30执行这里
   Console.WriteLine("你很年轻");
}
else
{
   //否则执行这里
   Console.WriteLine("你的年龄不满足我的要求");
}

继续分析:从第6行开始看:
1. 关系运算符优先级高于逻辑运算符。那么先判断 age 是否大于 20 和 age 是否小于 30,假设此时age = 25,那么(age > 20) == true 、(age < 30) == true
2.此时表示为if(true && true),根据上面表格我们可以知道,逻辑与在两边都为true时返回true所以表达式成立
3.输出结果 "你很年轻" 当age = 35时输出结果是"你的年龄不满足我的要求"

二、switch case语句
了解万if、esle后我们来看C#提供的另一种分支语句switch、case,它是一种将条件表达式预定义好的一种分支结构。例如设计一个点餐程序,我们的菜单有 1.汉堡 2.牛排 3.披萨 ,我们需要当用户输入三个食品的序号来为可以提供食物。那么使用switch、case分支语句的代码如下:

Console.WriteLine("/**********************************/");
Console.WriteLine("本店提供:1.汉堡 2.牛排 3.披萨");
Console.Write("选择需要的食物:");
string num = Console.ReadLine(); 

//判断num
switch (num)
{
  case "1"://当输入的为1时执行这里case与下面最近的break之间的代码
    Console.WriteLine("您点的汉堡请慢用");
    break;
  case "2"://当输入的为2时执行这里case与下面最近的break之间的代码
     Console.WriteLine("您点的牛排请慢用");
     break;
  case "3"://当输入的为3时执行这里case与下面最近的break之间的代码
     Console.WriteLine("您点的披萨请慢用");
     break;
  default: //当输入的值case中未声明时执行这里default与下面最近的break之间的代码
     Console.WriteLine("本店无您所需的食品");
     break;
}

那么我们继续来分析一下,搜先来看switch 与 case的语法,当switch后面括号中的值与case中定义的值一致时执行对应case中的代码到碰见break为止。default的意思是当switch后面括号中的值未能与case中的值匹配上时,执行default中的代码到碰见break为止。那么由此分析得出:
1.当用户输入1时代表选择的汉堡,switch(1)
2.在case中寻找是否有1,寻找到case "1" 执行case "1"中的代码到碰见break为止
3.打印"您点的汉堡请慢用" 当用户输入的值在case中为定义时例如5,那么程序必然输出"本店无您所需食品"。
运行结果如下:

本章介绍了C#的流程控制语句,学习重点在对条件判断语句、循环语句、循环控制语句的理解和掌握,并熟悉使用对象控制语句。本章的难点在于对这些流程控制语句的灵活应用和某些流程控制语句间区别的理解。

(0)

相关推荐

  • C#实现流程图设计器

    最近一个偶然的机会竟然实现了一个简单的流程图设计器(虽然其功能还有很多不完善之处,但是心中还是非常高兴,满满的成就感). 话不多说,先看一下实现的主界面效果: 左边是一个ListView(listView1),右边的画布是一个Panel(panel1).下面将主要思路介绍如下: 1)允许拖放,listView1和panel1设置其AllowDrop=true; 2)非连接线类型的图形拖放处理:左边的listView1的项目被选中后,可以获取其图形类型(是路由器.是服务器还是云等),并在全局变量中

  • C#日历样式的下拉式计算器实例讲解

    本文介绍了如何在Visual Studio中创建用户控件来显示下拉式计算器,弹出效果类似于日历控件. 介绍 如果我们正在做一个类似于库存控制和计费系统的项目,有些部分可能必须手动计算数值.因此,用户就不得不使用计算器得到结果,再填入到输入字段中,或者在工作窗口上单独打开一个计算器窗口.总之,各种不便和麻烦. 这篇文章主要描述的是如何添加下拉式计算器到DataGridView单元格中,如下图: 使用代码 第一步,我们必须先创建一个函数计算器,并且能够使用控件.因此,不妨先创建一个Visual St

  • C# 委托(跨窗体操作控件)实例流程讲解

    效果描述:有两个窗体,FORM1(一个名为"打开form2"的button控件)和FORM2(一个名为"改变form1颜色"的button控件).启动时,FORM1中点击button控件"打开form2""使FORM2显示出来.点击FORM2中的"改变form1颜色"后,Form1中颜色改变. 一.在Form2里面:       首先声明一个委托和委托实例Form2类外 复制代码 代码如下: public deleg

  • C#编程自学之流程控制语句

    在前面的文章中我们不难看出来,我们程序的执行顺序是从上到下顺序执行的,那么有时候我们需要程序在某个条件成立时,执行指定的代码片段,那么怎么样来控制这样流程呢?这个就是我们今天这篇文章所需要讨论的.那么开始吧! 一.if esle 语句 1.关系型运算符 说到分支语句必定会牵扯到条件,例如当满足一个条件的时候去执行指定的代码段,那么如何构建条件?这个时候我们就需要先了解一下运算符中的<关系型运算符>!请看下表: 看完表格后我们来介绍下什么是关系型运算符,关系型运算符就是对我们程序中的数据进行比较

  • 整理Javascript流程控制语句学习笔记

    1.做判断(if语句) if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件){ 条件成立时执行代码 } 例子:假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司. <script type="text/javascript"> var mycarrer = "HTML"; if (mycarrer == "HTML"){ document.write("你面试成功,欢迎加入公

  • 基于php流程控制语句和循环控制语句(讲解)

    1.流程控制语句主要有if.ii...else.elseif(有时也可以写成else if).switch四种. PHP中语句格式为: if(条件满足) {执行语句} if(条件满足) {执行语句} else {执行语句} if(条件满足) {执行语句} elseif {执行语句} elseif {执行语句} ....... else {执行语句} switch(条件) {case 1:语句:break: case 2:语句:break: case 3:语句:break: default:语句:

  • javascript流程控制语句集合

    一.if语句 if语句是最基本的条件判断语句.根据表达式条件来执行相应的处理.语法示例如下: var a=5; //声明变量a,并赋值为5. var b; //声明变量b. if(a==b){ //判断,如果a=b,则执行下面内容 alert("b=5"); //弹窗,b=5. } 1.a==b是if语句中的条件.     2.alert("a=c")是if语句中的结果.     此段脚本的含义是:声明变量a.b,且赋值a=5:当a=b时,弹窗b=5.     注:

  • python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的运行方向 # Ture:表示非空的量(String,tuple元组 .list.set.dictonary),所有非零的数字 # False:0,None .空的量 #逻辑表达式 可以包含 逻辑运算符 and or not if: ##################################

  • 简单谈谈Python流程控制语句

    人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在原地打转,找不到方向.对于相信有上帝的人来讲,这就好像是上帝事先为我们制定好了人生路线,也好像是那些神仙为唐曾师徒的取经之路提前设置的重重磨难,上帝和神仙掌控了一切.编程语言可以模拟人类生活的方方面面,程序员就像上帝和神仙一样可以通过编程语言中特殊的关键字控制程序的执行过程,这些关键字组成的就是流程控制语句. 编程语言中的流程控制

  • JavaScript基础之流程控制语句的用法

    第三部分:流程控制语句 JavaScript代码是书写位置: JavaScript代码应该写在<script type="text/javascript"></script>这一对标记中. 或者作为外部引用<script src="JavaScript代码路径"></script> JavaScript的每一句代码请用分号作为结束. 输出语句 1.控制台输出:console.log(); 它可以在控制台中输出一些信息,

  • 详解JavaScript的流程控制语句

    JS的核心ECMAScript规定的流程控制语句和其他的程序设计语言还是蛮相似的.我们选择一些实用的例子来看 一下这些语句.顺序结构我们在这里就不再提到,直接说条件和循环以及其他语句. 一.条件选择结构        条件选择语句用于基于不同的条件来执行不同的动作,通常在写代码时,总是需要为不同的决定来执行不同的 动作,可以在代码中使用条件语句来完成该任务.        在JavaScript中,我们可使用以下条件语句: if 语句:只有当指定条件为true时,使用该语句来执行代码 <!DOC

  • 基于java中的流程控制语句总结(必看篇)

    程序的结构分类: 顺序结构:按照写代码的顺序 一次执行 选择结构:根据条件的不同有选择的执行不同的代码 循环结构:在一定条件下 反复执行某一片代码 选择结构: 也叫分支结构 根据条件的不同,有选择的执行某一片代码 ,Java提供了两种 if结构 switch结构 if分为三种格式: if的第一种格式 if(条件){ 语句块 } 执行流程: 先判断条件, 如果为真 则语句块执行,否则 语句块不执行 代码演示: public static void main(String[] args) { Sys

  • Android编程输入事件流程详解

    本文实例讲述了Android编程输入事件流程.分享给大家供大家参考,具体如下: EventHub对输入设备进行了封装.输入设备驱动程序对用户空间应用程序提供一些设备文件,这些设备文件放在/dev/input里面. EventHub扫描/dev/input下所有设备文件,并打开它们. bool EventHub::openPlatformInput(void) { ... mFDCount = 1; mFDs = (pollfd *)calloc(1, sizeof(mFDs[0])); mDev

随机推荐