if语句中可以没有case
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了if语句中可以没有case相关的知识,希望对你有一定的参考价值。
if语句中可以没有case,简单的来说if语句与case语句的区别就是,if语句是在2个条件之间选择,不是这个就是那个;case语句可以在多个条件中进行选择,就是可以列出大于2种的可能性,然后进行判断选择。 参考技术A 不可以,case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束连续的两个case语句表示,这两个case是同一种情况 参考技术B 简单的来说if语句与case语句的区别就是,if语句是在2个条件之间选择,不是这个就是那个;case语句可以在多个条件中进行选择,就是可以列出大于2种的可能性,然后进行判断选择。 参考技术C 不可以1.
不可以,case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
2.
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束连续的两个case语句表示,这两个case是同一种情况 参考技术D default当然可以省略,如果省略,状态由综合工具按有利于优化化简确定。 case不是完全组合的话,要写上default 综合出来的if是带优先级的电路,case是没有优先级的
分支语句 if...else switch..case...break
语句:
1、顺序语句
2、分支语句
3、循环语句
基本格式:
if(bool的表达式)
{
代码
}
else if(bool的表达式)
{
代码
}
else
{
Console.WriteLine("我没有想到的问题。") // 判断自己思路是否有遗漏。
}
else if 不可以写在 else 后面。
--------------------------------------------------------
if(...)
{}
if(...)
{}
if(...)
{}
这样的结构属于多组分支语句,计算机都会进行表达式判断,条件不可以出现重复。
--------------------------------------------------------
if(...)
{} //可以直接结束
else if(...)
{} //也可以直接结束
--------------------------------------------------------
习题:
1、判断学生成绩:
0-100之间才为正确的分数;// a<0 && a>100
60分以下,不及格! // a<60
60分以上,及格了! // a>=60 && a<90
90分以上,学的很棒! // a>=90 && a<100
100分,满分,好厉害! // a==100
//接收用户输入的信息 Console.Write("请输入成绩:"); decimal b = Convert.ToDecimal(Console.ReadLine()); //判断 得出结果 并输出结果 if (b < 0 || b > 100) { Console.WriteLine("你输入的成绩有误!"); } else if (b < 60) { Console.WriteLine("不及格!"); } else if (b >= 60 && b < 90) { Console.WriteLine("及格了!"); } else if (b >= 90 && b < 100)//也可以写作 else if (b >= 90 && b !=100) { Console.WriteLine("学的很棒!"); } else if (b == 100) { Console.WriteLine("满分,好厉害!"); }
Console.ReadLine();
2、猜拳:
请输入你的手势: 石头剪子布
用户手势:xxx
电脑手势:xxx
xxx赢了!
//获得用户输入的手势 Console.Write("请输入手势(1:石头,2:剪刀,3:布):"); int c = Convert.ToInt32(Console.ReadLine()); //获得用户输入的手势 Random d = new Random(); int e = d.Next(1, 4); //判断比较 得出结果 //用户赢:1,2 2,3 3,1 //电脑赢:1,3 2,1 3,2 //用户赢: -1 -1 2 //电脑赢: -2 1 1 int jg = c - e; if (jg == -1 || jg == 2) { Console.WriteLine("用户赢了!"); } else if (jg == -2 || jg == 1) { Console.WriteLine("电脑赢了!"); } else { Console.WriteLine("平局!"); }
Console.ReadLine();
-------------------------------------------------------------
判断变量的值是什么,最后必须跟break,default有没有都可以。
swith (变量)
{
case 值:执行这里;(可以写很多执行代码) break;
case 值:执行这里;(可以写很多执行代码) break;
、、、、、、、、
default: 值 = 执行这里; (可以写很多执行代码)break;
}
---------------------------------------------------------------
习题:
1、
判断当前日期是一年中的第几天
请输入月份
请输入日期
输出:
XXX月XXX日是一年中的第xxx天。
//接收用户输入的信息 Console.Write("请输入月份:"); int a = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入日期:"); int b = Convert.ToInt32(Console.ReadLine()); int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30; int c = 0; //判断输入的月份 日期是否正确 if (a < 1 || a > 12) { Console.WriteLine("月份输入有误!"); } else if ((b < 1 || b > 31) || (a == 2) && (b > 28) || (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) && (b > 31) || (a == 4 || a == 6 || a == 9 || a == 11) && (b > 30)) { Console.WriteLine("日期输入有误!"); } else { switch (a) { case 1: c = b; break; case 2: c = m1 + b; break; case 3: c = m1 + m2 + b; break; case 4: c = m1 + m2 + m3 + b; break; case 5: c = m1 + m2 + m3 + m4 + b; break; case 6: c = m1 + m2 + m3 + m4 + m5 + b; break; case 7: c = m1 + m2 + m3 + m4 + m5 + m6 + b; break; case 8: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + b; break; case 9: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + b; break; case 10: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + b; break; case 11: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + b; break; case 12: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + b; break; }
Console.WriteLine(a + "月" + b + "日是一年中的第" + c + "天。");
} //打印输出 Console.ReadLine();
2、
让用户随机输入3个数:
将这三个数,从大到小排列并打印出来。
//1、接收用户输入的三个数 Console.Write("请输入第一个数:"); decimal n1 = Convert.ToDecimal(Console.ReadLine()); Console.Write("请输入第二个数:"); decimal n2 = Convert.ToDecimal(Console.ReadLine()); Console.Write("请输入第三个数:"); decimal n3 = Convert.ToDecimal(Console.ReadLine()); //2、比较大小并排序 decimal zhong = 0; if (n1 < n2) { zhong = n1; n1 = n2; n2 = zhong; } if (n1 < n3) { zhong = n1; n1 = n3; n3 = zhong; } if (n2 < n3) { zhong = n2; n2 = n3; n3 = zhong; } //3、打印 Console.WriteLine(n1 + " " + n2 + " " + n3);
Console.ReadLine();
以上是关于if语句中可以没有case的主要内容,如果未能解决你的问题,请参考以下文章