switch(/*要判断的变量*/){
case /*表达式的值||变量的值*/ : /*要做的事*/; break;
case /*表达式的值||变量的值*/ : /*要做的事*/; break;
case /*表达式的值||变量的值*/ : /*要做的事*/; break;
case /*表达式的值||变量的值*/ : /*要做的事*/; break;
/*还可以添加别的判断*/
比如这个代码,实现了计算器功能:
#include<bits/stdc++.h>
using namespace std;
int a,b;
char c;
void f(int a,int b,char c){
switch(c){
case '+': cout<<a+b;break;
case '-': cout<<a-b;break;
case '*': cout<<a*b;break;
case '/': cout<<a/b;break;
case '%': cout<<a%b;break;
int main(){
cin>>a>>c>>b;
f(a,b,c);
return 0;
信息学奥赛一本通1397:简单算术表达式求值
信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)
在C语言中,switch语句是一种用于根据不同的条件执行不同的代码块的结构。它根据某个表达式的值来选择要执行的代码块。下面是一个例子展示了如何使用switch语句来打印一位数的中文数字:
#include <iostream>
using namespace std;
int main() {
int num = 6 ;
switch (num) {
case 0:
cout << "零" << endl;
break;
case 1:
cout << "一" << endl;
break;
case 2:
cout << "二" << endl;
break;
case 3:
cout << "三" << endl;
break;
case 4:
cout << "四" << endl;
break;
case 5:
cout << "五" << endl;
break;
case 6:
cout << "六" << endl;
case 7:
cout << "七" << endl;
break;
case 8:
cout << "八" << endl;
break;
case 9:
cout << "九" << endl;
break;
default:
cout << "数字不在0-9之间!" << endl;
break;
return 0;
通过运行以上代码,如果num的值为6,将会输出"六"。而如果num的值超出了0-9的范围,将会输出"数字不在0-9之间!"。
此外,switch语句还可以使用贯穿(cases fall-through)的方式来进行合理的应用。这意味着如果多个case后面没有使用break语句,那么程序将会继续执行后面的case,直到遇到break语句或者switch语句结束为止。下面是一个利用贯穿实现判断数字奇偶性的例子:
#include <iostream>
using namespace std;
int main() {
int num = 6 ;
switch (num) {
case 0:
case 2:
case 4:
case 6:
case 8:
cout << "num是偶数!" << endl;
break;
case 1:
case 3:
case 5:
case 7:
case 9:
cout << "num是奇数!" << endl;
break;
default:
cout << "数字不在0-9之间!" << endl;
break;
return 0;
在这个例子中,如果num的值为6,将会输出"num是偶数!"。因为在case 6的代码块中没有break语句,所以程序会继续执行后面的case 7、case 8等代码块,直到遇到break语句或者switch语句结束为止。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C语言/C++【switch语句详解(用法、规则、流程图、实例)】](https://blog.csdn.net/weixin_44949135/article/details/115174682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [c++ switch语句](https://blog.csdn.net/m0_62870588/article/details/123677675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
CSDN-Ada助手: