Switch
在C++中,switch语句无法直接判断范围。switch语句仅能判断表达式的具体值与case标签的值是否相等。它不支持使用范围作为条件。
C++中的switch语句是一种选择结构,常用于根据表达式的不同取值执行不同的代码块。它可以更清晰地处理多个条件的情况。
下面是一个基本的switch语句的语法:
switch (expression) {
case value1:
// 执行与 value1 对应的代码
break;
case value2:
// 执行与 value2 对应的代码
break;
case value3:
// 执行与 value3 对应的代码
break;
// 可以有更多的case语句
default:
// 当 expression 的值与之前的任何一个值都不匹配时执行的代码
break;
}
使用时,首先要提供一个表达式(expression),其结果会与后续的每个case标签的值进行比较。如果匹配成功,程序将执行与该case标签关联的代码块,并使用break
语句跳出switch语句。如果没有匹配成功,程序将执行default标签后的代码块(如果有的话)。
需要注意的是,case标签的值必须是整数常量或枚举常量。在C++11及以上的标准中,还允许使用枚举类、字符常量、字符串常量或可求值整数常量表达式作为case标签的值。
下面是一个简单的例子,展示了使用switch语句的情况:
int dayOfWeek = 1;
switch (dayOfWeek) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday" << endl;
break;
case 7:
cout << "Sunday" << endl;
break;
default:
cout << "Invalid day of the week" << endl;
break;
}
上述代码将输出 “Monday”,因为dayOfWeek
的值为1。如果dayOfWeek
的值为其他数字,根据匹配结果输出相应的信息,如果没有匹配到任何值,则输出 “Invalid day of the week”。