C语言 switch |
您所在的位置:网站首页 › switch语句case后面的范围怎么写 › C语言 switch |
当我们有多个选项时,使用C语言switch-case语句,我们需要为每个选项执行不同的任务。 C – switch-case语句语法: switch (variable or an integer expression) { case constant: //C Statements ; case constant: //C Statements ; default: //C Statements ; } switch-case流程图输出: Default: value is: 2说明:在switch中我给出了一个表达式,你也可以给变量。我给了num + 2,其中num值是 2,并且在相加之后表达式得到 4。因为没有用值 4 定义的情况,所以执行默认情况。 怪异故事 – 介绍break语句在我们讨论更多关于break语句之前,请猜测这个 C 程序的输出。 #include int main() { int i=2; switch (i) { case 1: printf("Case1 "); case 2: printf("Case2 "); case 3: printf("Case3 "); case 4: printf("Case4 "); default: printf("Default "); } return 0; }输出: Case2 Case3 Case4 Default我传递了一个变量给switch,变量的值是 2,所以控制跳转到case 2,但是在上面的程序中没有这样的语句可以在case 2 执行后打破流程。这就是case 2之后,所有后续case和默认语句都已执行的原因。 如何避免这种情况? 我们可以使用break语句来打破每个case块之后的控制流。 switch-case中的break语句当您希望程序流从switch中出来时,break语句很有用。每当在switch体中遇到break语句时,控制流都会出现在switch case语句外。 具有break的switch-case示例 和在上面看到的相同,但这次我们正在使用break。 #include int main() { int i=2; switch (i) { case 1: printf("Case1 "); break; case 2: printf("Case2 "); break; case 3: printf("Case3 "); break; case 4: printf("Case4 "); break; default: printf("Default "); } return 0; }输出: Case 2为什么default后不使用break语句? 控制流本身会在默认情况下从switch中出来,所以我没有使用它,但是如果你想在默认情况下使用它,你可以使用它,这样做没有坏处。 关于switch-case的几个重点1)case并不总是需要顺序1,2,3等。它们可以在case关键字后面包含任何整数值。此外,case不需要始终按升序排列,您可以根据程序的需要以任何顺序指定它们。 2)您也可以在switch-case中使用字符。例如: #include int main() { char ch='b'; switch (ch) { case 'd': printf("CaseD "); break; case 'b': printf("CaseB"); break; case 'c': printf("CaseC"); break; case 'z': printf("CaseZ "); break; default: printf("Default "); } return 0; }输出: CaseB3)switch中提供的表达式应该产生一个常量值,否则它将无效。 例如: switch的有效表达式: switch(1+2+23) switch(1*2+3%4)无效的switch表达式: switch(ab+cd) switch(a+b+c)4)允许嵌套switch语句,这意味着你可以在另一个switch内部使用switch语句。但是应该避免使用嵌套的switch语句,因为它会使程序更复杂,更不易读。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |