【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《浅谈C语言中switch 语句的嵌套使用》,欢迎阅读!
浅谈C语言中switch 语句的嵌套使用
【摘要】switch语句是一种分支控制语句,它的应用在程序设计中起到了很重要的作用。由于其格式复杂,对于初学者来说很难掌握,switch语句的嵌套使用更是让初学者难以理解。本文通过介绍switch嵌套语句的形式、break语句的作用,以及分析一个实例,以期初学者在这方面有更好的认识和把握。
【关键词】C语言;switch语句;嵌套
C语言中,if-else语句能实现多分支结构的程序设计,但是如果分支较多,则嵌套的if语句层就越多,由此编写的程序不够直观,难以理解,给编程和阅读带来了很大的困难。然而,C语言中还提供了另外一种分支控制语句,那就是switch语句,又称开关语句。switch语句的应用给编程者带来了不少便利,但又由于它格式复杂(C语言中最复杂的)[1],对于有些初学者来说,很难理解掌握,更不用说switch语句的嵌套使用了。为了让初学者能更全面的了解掌握switch语句的使用,现就对switch语句中嵌套使用switch语句浅谈如下:
一、switch嵌套语句的一般形式:
switch(表达式) {
case 常量1: 语句1
case 常量2: switch(表达式)
{ case 常量1: 语句1
case 常量2: 语句2
……
case 常量n: 语句n
default :语句n+1 }
……
case 常量n: 语句n
default :语句n+1 }
首先计算switch后面括号中表达式的值,然后用此值依次与各个case的常量表达式比较:若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1。若执行的case后面是嵌套的switch语句时,同样要先计算该嵌套switch后面括号内的值,与case的常量表达式比较。实际上跟执行一个新的switch语句一样。
二、 break语句是switch嵌套语句的关键。
case常量起的是语句标号的作用,程序并不在此进行判断。因此,一旦与switch后面括号中表达式的值相等,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之相等,直到遇到break语句才停止执行。所以说,若想执行一个case分之后立即跳出switch语句,特别是跳出嵌套的switch语句,就必须在相应的分支最后添加一个break语句。在这里要强调break语句跳出的是当前执行的switch语句。
三、 switch语句嵌套使用的简单实例
程序实例:
#include”stdio.h”
void main() {
int a=3,b=9,c=6;
switch(a>0) // 因为a=3>0,判断是真得1(逻辑真为1,假为0),继续执行
{case 1:switch(b<10) //因为b=9<10,判断是真得1,继续执行
{case 1:printf(“@”);break;//输出“@”,遇到break跳出该层switch,继续执行
case 0:printf(“!”);break; }
case 0:switch(c==6) //因为c=6,判断为真得1,继续执行
本文来源:https://www.wddqxz.cn/b0ff66d4adf8941ea76e58fafab069dc51224777.html