大家好,屁孩君今天给大家带来c++小白课程——switch语句,会的扣1,不会的扣脚丫。
首先给大家来点小知识,避免等会听的云里雾里的,哈哈,switch:条件选择;开关。case:情况。break:终止。default:默认;系统默认值。
用if语句处理多个分支时需使用if-else-if结构,分支越多,嵌套的if语句层就越多,程序不但庞大而且理解也比较困难。c++提供了一个专门用于处理多分支机、结构的条件选择语句,称为switch语句,又称开关语句。它可以很方便地实现深层嵌套的if-else。
switch语句一般使用如下格式:
switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
.....
case 常量表达式n:语句n;break;
default:语句 n+1;break;
}
先计算switch表达式的值,当表达式的值与某个case子句中的常量表达式相匹配时,就执行case子句中的内嵌语句,并顺序执行之后的所有语句,直到遇到break语句为止;若所有的case子句中常量表达式的值都不能与switch表达式的值相匹配,就执行default子句中的内嵌语句。
switch后面括号内的表达式,可以是整型,字符型,布尔型。每一个case表达式的值必须不同,否则就会出现相互矛盾的现象。若各个case和default子句中都有break语句,则他们的出现次序不影响执行结果,因为break的作用就是终止,有了break,他一发现匹配的就会输出然后终止,不用再继续往下走了;case子句中可一包含多个执行的语句,不必用花括号括起来。
接着,来到题给大家做一下,上代码!
#include<iostream>
using namespace std;
int main()
{
int m,n,ans;
cin>>m>>n;
switch(n)
{
case 0: ans=1;break;
case 1: ans=m;break;
case 2: ans=m*m;break;
case 3: ans=m*m*m;break;
case 4: ans=m*m*m*m;break;
default: ans=-1;break;
}
if(ans==-1)cout<<"???"<<endl;
else cout<<ans<<endl;
return 0;
}
如果我输入5和3,它会输出神马呢?
来,我来给大家讲讲,首先它定义了一个m,n,ans,输入m和n,第一种情况是n=0,那ans就等于1,第二种情况是n=1,那ans就等于m,第三种情况是n=2,那ans就等于m*m,第四种情况是n=3,那ans就等于m*m*m,第五种情况是n=4,那ans就等于m*m*m*m,default的作用就是如果
以上五种情况都不匹配的话,ans就等于-1,所以输出的就是125,
如果我输入五会怎么样,对了,肯定就是输出???
好了,今天就讲到这里了,会的扣1,不会的可以再评论区说。
下节课屁孩君给大家讲for循环,记得做好笔记哦。
记得3连哦!