switch语句(switch statement)

匿名 (未验证) 提交于 2019-12-03 00:20:01

作用:

提供了一条可视性好、易于理解的可以选择若干候选项的语句。其作用就像是一个单刀多置开关。

语句基本结构:

switch (expr)

case constexpr1:

break;

case constexpr2:

break;

//其余的候选项

default:

state(n);

运行流程:

第一步:先对关键字switch后面的表达式(可以是一个初始化的变量声明)求值。

第二步:将表达式和case标签匹配,如果与其中一句匹配成功,则开始执行其后的语句块,直至switch结尾或者遇到一条break语句。

第三部:如果没有case与之匹配则跳转到default语句,执行default之后的语句。

理解重难点

在每一个case之后都有一个break语句,则在执行这个case之后就会跳转出去这个switch语句,否则会将这个case之后的所有语句都依次执行。如果希望多个值共享一组操作,则可以故意省略break语句。

定义default不是必须的,但是也可以利用default统计其余的所有情况。

存在这样的一种可能,在case1中国定义了某个变量,但是表达式匹配的时候跳过该条语句,如果其后的case语句块中使用该变量了,则会引起错误。这种情况下在case中定义变量,变量的作用域也仅限于这个case中。在下一个case中需要重新定义

int main() { 	int a; 	cin >> a; 	switch (a) 	{ 	case 1: 	{ 		int b = a + 1; 		cout << a << " " << b << endl; 		break; 	} 	case 2: 	{ 		int c = a + 1; 		cout << a << " " << c << endl; 		break; 	} 	default: 	{ 		break; 	} 	}  	return 0; }


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!