您的位置:首页 > 编程语言 > C语言/C++

【菜鸟C++学习笔记】15.switch语句

2012-07-16 00:06 323 查看
1、基本结构:

switch(变量)
{case 1:语句;break;
 case 2:语句;break;
 ......
 case n:语句;break;
 default: 语句;
}

可见,switch语句解决的是多条件下if嵌套太麻烦的问题,在switch后的变量可以使数字、字符或表达式,总之要有一个可以判断的值,如果这个值与case后面的某个值相符时,与之关联的语句就会执行,执行后,break语句会让程序跳出switch循环,如果没有相符的情况,就执行default分支的语句。具体程序如:

#include<iostream>
using namespace std;
int main()
{
int i;
cout<<"魔术小程序:告诉你输入的是几"<<endl;
cout<<"输入个整数"<<endl;
cin>>i;
switch(i)
{
case 0:cout<<"你输的是0,神奇吧"<<endl;break;
case 1:cout<<"你输的是1,神奇吧"<<endl;break;
case 2:cout<<"你输的是2,神奇吧"<<endl;break;
case 3:cout<<"你输的是3,神奇吧"<<endl;break;
case 4:cout<<"你输的是4,神奇吧"<<endl;break;
case 5:cout<<"你输的是5,神奇吧"<<endl;break;
case 6:cout<<"你输的是6,神奇吧"<<endl;break;
case 7:cout<<"你输的是7,神奇吧"<<endl;break;
case 8:cout<<"你输的是8,神奇吧"<<endl;break;
case 9:cout<<"你输的是9,神奇吧"<<endl;break;
default:cout<<"你输的不是数字!"<<endl;break;
}
cout<<"\n程序执行完了"<<endl;
return 0;
}
运行结果:



注意:break语句非常重要,否则循环体会把每个case后的语句都运行一遍,等于白搭。

2、与无限循环语句连用

可以做出神奇的导航菜单哦~~如下面的程序:

#include<iostream>
using namespace std;
int main()
{
cout<<"选水果报价程序"<<endl;
bool quit=0;
for(;;)//无限循环体
{
char choice;
cout<<"\n (0)苹果(1)香蕉(2)草莓(3)榴莲(4)凤梨(5)葡萄(6)橘子(7)西瓜(q)退出"<<endl;
cin>>choice;
switch(choice)
{
case '0':cout<<"3千块一个,请付款"<<endl;continue;
case '1':cout<<"5千块一支,请付款"<<endl;continue;
case '2':cout<<"1千块一个,请付款"<<endl;continue;
case '3':cout<<"4万块一个,请付款"<<endl;continue;
case '4':cout<<"1万块一个,请付款"<<endl;continue;
case '5':cout<<"5千块一串,请付款"<<endl;continue;
case '6':cout<<"4千块一个,请付款"<<endl;continue;
case '7':cout<<"1万块一个,请付款"<<endl;continue;
case 'q':quit=1;cout<<"这就完了?多便宜啊!做人不能太抠!"<<endl;break;
default:cout<<"2吧,一共8个选项还选不对?重新选!"<<endl;continue;
}
if(quit=1)//永久跳出无限循环体
break;
}
cout<<"\n欢迎下次光临哦亲"<<endl;
return 0;
}
运行结果如下图:



分析:在本程序中使用continue语句,因为它不会跳出循环体,而是重复判断循环条件重新开始,因此会使循环再重新运行。而在case q时,使用break语句,就会跳出整个无限循环体。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++