判断语句

子淼
发布于 2024-01-30 / 42 阅读
0
0

判断语句

1.单分支

单分支表示程序只有一条路径,如果判断条件为真,就执行,否则就略过。

//代码框架
if( 判断条件 ){
  // 条件为真执行
}
// 示例
int n;
cin >> n;
if(n < 18){
  cout << "未成年" << endl;
}
//上面代码作用是输入你的年龄,判断是否是未成年,如果输2入的n小于18就输出未成年,否则就什么都不输出

2.双分支

双分支表示程序有两条可选路径,且这两条路径必须选一条。类似于判断题,要么选对,要么选错,没有第三种选择。

//代码框架
if( 判断条件 ){
  //条件为真执行
}else{
  //条件为假执行
}
// 示例
int n;
cin >> n;
if(n < 18){
  cout << "未成年" << endl;
}else{
  cout << "成年" << endl;
}
//上面代码还是判断是否成年,但是这次无论输入任何整数,都会有一个输出结果

3.多分支

多分支可以从多条路径中选择0条或者1条。

//代码框架
if( 条件1 ){
  // 条件1成立时执行
}else if( 条件2 ){
  // 条件1不成立,条件2成立时执行
}else if( 条件3 ){
  // 条件1,2不成立,条件3成立时执行
}else{
  // 上面条件都不成立时执行(可以没有最后的else)
}

示例代码:以学生成绩分级为例,如果成绩大于90分,输出A,成绩在80-89之间输出B,成绩在70-79之间输出C,成绩在60-69之间输出D,60分以下输出E。

#include<iostream>
using namespace std;
int main(){
  int n;
  cin >> n;
  if(n>=90){
    cout << "A" << endl;
  }else if(n>=80){
    cout << "B" << endl;
  }else if(n>=70){
    cout << "C" << endl;
  }else if(n>=60){
    cout << "D" << endl;
  }else{
    cout << "E" << endl;
  }
  return 0;
}

4.分支嵌套

if...else...语句里面可以重复的嵌套if...else..语句

例如:输出3个数中的最大值

#include<iostream>
using namespace std;
int main(){
  int a,b,c;
  cin >> a >> b >> c;
  if(a>b){
    if(a>c){
      cout << a << endl;
    }else{
      cout << c << endl;
    }
  }else{
    if(b>c){
      cout << b << endl;  
    }else{
      cout << c << endl;
    }
  }
}

5.三目运算

三目运算是if...else...语句的一种缩写方式

// 代码格式
<判断语句> ? <语句1> : <语句2>
//如果判断语句返回值为真,就执行语句1,否则就执行语句2

例如:输出两个数字中较大的那个

#include<iostream>
using namespace std;
int main(){
	int a,b;
	cin >> a >> b;
    //用if...else...语句
	if(a>b){
		cout << a << endl;
	} else{
		cout << b << endl;
	}
    //三目运算方法1
	a>b?cout<<a<<endl:cout<<b<<endl;
    //三目运算方法2
	cout<<(a>b?a:b)<<endl;
	return 0;
}

6.switch语句

switch语句适用于表达数量较多的分支条件

switch(表达式){
  case 常量表达式1:
    语句1;
    break;
  case 常量表达式2:
    语句2;
    break;
  ......
  default:  //相当于多分支里面最后的else
    语句n;
}

switch 语句可以包含多个 case 条件,case 后面的常量表达式必须各不相同。进人switch 语句后,先计算表达式的值,然后逐一匹配每个 case 的常量表达式,当匹配成功时,执行对应的语句块,然后顺序执行之后的所有语句,直到整个 switch 语句结束。如果遇到一个 break 语句,则中止 switch 语句的执行。如果表达式与所有的 case 都不能成功匹配,则执行 default 后面的语句块,直到 switch 语句结束。

break 是专门用于跳出类似 switch 的分支和其他循环结构的语句。“跳出”是指一旦遇到break,就不再执行 switch 中的其他语句,包括当前分支中的语句和其他分支中的语句。

default 负责处理不符合任何 case 的情况,而且 switch 语中只能有一个 default 分支,它可以出现在开头或者结尾,也可以出现在两个 case 的中间,但 switch 语句中不是必须出现default 选项的。

示例代码:以学生成绩分级为例,如果成绩大于90分,输出A,成绩在80-89之间输出B,成绩在70-79之间输出C,成绩在60-69之间输出D,60分以下输出E。

#include<iostream>
using namespace std;
int main(){
	int n;
	cin >> n;
	switch(n/10){
		case 10:
		case 9:
			cout << "A";
			break;
		case 8:
			cout << "B";
			break;
		case 7:
			cout << "C";
			break;
		case 6:
			cout << "D";
			break;
		default:
			cout << "E";	
	}
	return 0;
}


评论