黑马程序员 C#基础流程控制_条件语句

来源:互联网 发布:葡萄牙语翻译软件 编辑:程序博客网 时间:2024/05/16 06:41

 ------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

 

条件结构就是根据不同条件进行判断,然后执行不同的操作。

●单分支选择语句     if

●双分支选择语句     if......else

●多分支选择语句     if......else if......

●多分支选择语句     switch()

 

1.简单if语句的基本语法:

if(条件语句)   语句1;

执行过程:首先判断条件的结果,如果条件为true,则执行语句1。如果条件为false,则跳过语句1,执行后面的语句。

if后面括号中的条件要能计算成一个bool类型的值。

在默认情况下if语句只能带一句话,既和if语句关的只有 语句1,如果想让if多带几句话,则可以使用{}将多条语句括起来组成语句块。如:

if(条件语句){语句1;语句2;......语句n;}


执行过程:如果条件为false,那么将直接跳过if所带语句块中的所有语句。

简单if语句流程图如:

 

2、if语句可以配合关键字else使用,构成双分支选择语句。语法如下:

if(条件表达式){    语句块1;}else{    语句块2;}



执行过程:程序执行时首先检测条件表达式的值,如果条件表达式的值为true,那么执行语句块1,然后跳过语句块2;反之,如果条件表达式的值为false,直接跳过语句块1,执行else带的语句块2。

流程图如下:

 

 

如果有多个条件需要判断,那么可以通过添else if语句来完成,就是所谓的嵌套。

3、if......else if多分支选择语句实际上就是双分支选择语句的嵌套。

多分支选择语句语法如下:

if(条件表达式A){  语句块1;}else if(条件表达式B){  语句块2;}else if(条件表达式C){  语句块3;}…………else{   语句块n;}

执行过程:程序执行时,首先判断If语句后面括号中的条件表达式A,若值为True,则执行语句块1语句,若值为False,就跳向下一个语句,判断Else If语句后面的条件表达式B,若为True,就执行语句块2语句,否则就继续向下,若到最后的Else语句之前还没有遇到语句为True的,就要执行Else语句后面大括号中的语句块n了。

多分支if选择语句流程图如:

 

4、Switch语句

Switch语句非常类似于If语句,因为它也是根据测试的值来有条件地执行代码。实际上,每一个由Switch语句组成的代码,都可以用If语句进行改写。

Switch语句的基本语法为:

switch(控制表达式){    case 测试值1:        当控制表达式的值等于测试值1时的执行代码;        break;    case 测试值2:        当控制表达式的值等于测试值2时的执行代码;        break;    case 测试值3:        当控制表达式的值等于测试值3时的执行代码;        break;    ......    case 测试值n:        当控制表达式的值等于测试值n时的执行代码;        break;    default:          当控制表达式的值不等于以上任何测试值时的执行代码;        break;}



执行过程:在switch语句的开始,首先计算控制表达式的值,如果该值符合某个case语句中定于的“测试值”就跳转到该case内的语句执行,当控制表达式的值没有任何匹配的“测试值”时,则执行default内的代码,执行完后退出switch语句,继续执行下面的代码。其中,测试值只能是某个整数类型或字符类型。并且各个测试值不能相同

必须为每个case语句添加一个break语句,break语句的作用是中断当前switch语句的运行,而执行该结构后面的语句。若没有break这个语句,程序则会发生意想不到的错误。

下例是一个简单的 switch分支语句实例程序: 

            //根据成绩分数判断其所属那个成绩等级              Console.WriteLine("请输入你的成绩(0~100):");            int score = Convert.ToInt32(Console.ReadLine());                        if (score >= 90 && score <= 100)                            n = 9;            else                 n = score / 10;                       switch (n)            {                 case (9):                    Console .WriteLine("优秀");                    break ;                case (8):                    Console .WriteLine("良好");                    break ;                case(7) :                    Console .WriteLine("中等");                    break ;                case (6):                    Console .WriteLine("及格");                    break;                default:                    Console.WriteLine("不及格");                    break ;            }


 

原创粉丝点击