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

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语句,就会跳出整个无限循环体。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值