C#决策分支

最简答的if语句
if(表达式)
{
    语句块
}

使用if语句时,如果只有一条语句,省略{}是没有语法错误的,而且不影响程序的执行,但是为了程序代码的可读性。建议不要省略

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

程序中使用if···else语句时,如果出现if语句多于else语句的情况,将会出现悬垂else问题

if(x>1)
    if(y>x)
        y++;
eles 
    x++ ;

如果遇到上面的情况,记住:在没有特殊处理的1情况下,else永远都与最后出现的if语句相匹配

如果要改变else语句的匹配对象,可以用大括号,例如,将上面代码修改如下

if(x>1)
{
    if(y>x)
    {
        y++; 
    }
}
if(x>1)
{
    if(y>x)
    {
        y++ ;
    }
}
else
{
    x++ ;   
}

else 与if(x>1)相匹配

if···else if··· else 语句
if(表达式1)
{
    语句1 ;
}
else if (表达式2)
{
    语句2 ;
}
else if (表达式3)
{
    语句3 ;
}
···
else if(表达式m)
{
    语句m
}
else
{
    语句n 
}
if语句的嵌套
if(表达式1)
{
    if(表达式2)
        语句1 ;
    else 
        语句2 ; 
}
else {
    if(表达式3)
        语句2;
    else 
        语句3 ;
}
switch 语句
switch(判断参数)
{
case 常量1 :
    语句快1 
    break ;
case 常量2 :
    语句块2
    break;
···

defaul :
    语句快n+1 ;
    break ;
}

switch 关键字后面的括号()中是要判断的参数,参数必须是sbyte,byte,short,ushort,int,uint,long,ulong,char,string,bool或者枚举类型中的一种,大括号{}的代码是由多个case字句组成的,每个case关键字后面都有相应的语句块。如果符合常量值,则case下的语句块就会被执行,语句块执行完毕后,执行break语句,使程序跳出switch语句,如果条件得不到满足,则就执行defualt语句块

注意:

  • case 后的各常量值不可以相同,否则会出现错误
  • case 后面的语句块可以包含多条语句,不必使用{}大括号括起来
  • case 语句和default语句的顺序可以改变,但不会影响程序的执行结果
  • 一个switch语句中只能有一个defualt语句,而且default语句可以省略
常见错误:

(1)使用switch语句时,常量表达式不可以是浮点型。例如以下就不行

   double dNum = Convert.ToDouble(Console.ReadLine);
            switch (dNum)
            {
                case 1.0:
                    Console.WriteLine("分支一");
                    break;
                case 2.0:
                    Console.WriteLine("分支二");
                    break;
            }

(2)使用switch语句时,每一个case语句或者default后面必须有一个break关键字,否则,就会出现控制不能从一个case标签("default:")贯穿到另一个case标签

switch与if···else if···else 区别

if···else if ··· else语句也可以实现多分支选择的情况但是它主要是对布尔表达式,关系表达式或者逻辑表达式,

而switch多分支语句主要对常量值进行判断。

while 循环和do···while循环
while 循环

语法格式

while(表达式)
{
    语句
}

表达式一般是一个关系表达式或一个逻辑表达式,其表达式应该是一个逻辑值真或假。当表达式的值为真时,开始循环;而当表达式的值为假时,则退出循环,执行循环外的下一条语句

do···while循环

特点是 先执行循环体,再判断循环条件

for循环
for循环的一般形式
for(表达式1;表达式2;表达式3)
{
    语句组
}
for循环的变体

1.省略“表达式1”的情况

for(;iNum<=100;iNum++){
    sum +=iNum;
}

2.省略“表达式2”

3.省略“表达式3”

练习九九乘法表

            int iRow, iColumn;
            for (iRow = 1; iRow < 10; iRow++)
            {
                for (iColumn = 1; iColumn <=iRow; iColumn++)
                {
                    Console.Write("{0}*{1}={2}", iColumn, iRow, iRow * iColumn);
                }
                Console.WriteLine(" ");
            }
            Console.ReadLine();
跳转语句
break语句

作用跳出循环体,执行循环体之外的语句

continue语句

用于忽略循环语句内位于它后面的代码而直接开始下一个循环。

说明:continue一般会结合if语句进行搭配,表示在某种情况下不执行后面的语句,直接开始下一次的循环

            int iSum = 0;
            int iNum = 1;
            for (; iNum <= 100; iNum++)
            {
                if (iNum % 2 == 1)
                {
                    continue;
                }
                iSum += iNum;
            }
            Console.WriteLine("1到100之间的偶数之和:" + iSum);
            Console.ReadLine();//因为我们在运行的时候,小黑框会闪退,Console.ReadLine()是输入语句,为了让控制台可以暂停
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值