当分支比较多的时候,为了不让程序变得复制和凌乱,我们可以使用 switch 语句,下面会介绍 switch 语句。
目录
1.格式
2.执行过程
3.例题
3.1 代码
1.格式
switch (表达式)
{
case 常量表达式1 :
语句序列 1;
break;
case 常量表达式n :
语句序列 n;
break;
default :
语句序列 n+1;
}
2.执行过程
(1)计算出 switch 后面括号内表达式的值。
(2)计算出 case 后面常量表达式的值。
(3)让在第(1)步算出的值依次和在第(2)步算出的值比较,如果相等,就执行对应语句。当执行到花括号就结束整个 switch 语句的执行。
注意:
switch语句中表达式类型只能是整型或者字符型。case里如果没有break,那么程序会一直向下执行。case后面的常量可以加小括号也可以不加。default后面不用再加break,加上也不是不行。case 常量 后面的语句不用写花括号将case之后的语句括起来,有多条语句也不用。你定义的switch接收的是整型还是字符型,后面case对应的取值判断时,也会把它转换成整型或者字符型的再去和输入比较。
总结:
与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,但是switch不可以判断区间。
3.例题
点和正方形的关系
【题目描述】
有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。如果点在正方形内,则输出yes,否则输出no。
【输入】
输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。
【输出】
输出一行,如果点在正方形内,则输出yes,否则输出no。
【输入样例】
1 1
【输出样例】
yes
【题目来源】
信息学奥赛一本通(C++版)在线评测系统
3.1 代码
#include <iostream>
using namespace std;
int main()
{
int x, y;
cin >> x >> y;
switch (x >= -1 && x = -1 && y <= 1)
{
case 0: cout << "no"; break;
case 1: cout << "yes";
}
return 0;
}
创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,如果喜欢我的文章,给个关注吧!
冰焰狼 | 文
如果本篇博客有任何错误,请批评指教,不胜感激 !