条件判断

判断结构概述

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

如果(明天下雨?)

是:在家玩游戏

否:去打羽毛球

C++ 编程语言提供了以下类型的判断语句

下面我们逐一讲解

if 语句

首先我们先看if语句

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。

表达式是一个布尔类型的值 当然可以是整数 整数 非0就是true 0就是false

if(boolean_expression)
{
   // 如果布尔表达式为真将执行的语句
}Code language: JavaScript (javascript)

如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 10;
 
   // 使用 if 语句检查布尔条件
   if( a < 20 )
   {
       // 如果条件为真,则输出下面的语句
       cout << "a 小于 20" << endl;
   }
   cout << "a 的值是 " << a << endl;
 
   return 0;
}Code language: PHP (php)

我们的例子

#include <iostream>
using namespace std;

int main()
{
	//输出1到100000 之间 能被 5 又能被 9 又能被19 整除的书
	int i = 1;
	while (i <= 10000)
	{
		if (i % 5 == 0 && i % 9 == 0 && i % 19 == 0)
		{
			cout << i << endl;
		}
		i++;
	}
	return 0;
}Code language: PHP (php)

if…else 语句

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。

if(boolean_expression)
{
   // 如果布尔表达式为真将执行的语句
}
else
{
   // 如果布尔表达式为假将执行的语句
}Code language: JavaScript (javascript)
#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个值 判断这个值 是否大于120
	int i;
	cin >> i;
	if (i>120)
	{
		cout << i << "大于120" << endl;
	}
	else
	{
		cout << i << "小于或者等于120" << endl;
	}
	//cout << i << endl;
	
	return 0;
}Code language: PHP (php)

不管条件是否满足 都有执行。

if…else if…else 语句

if(boolean_expression 1)
{
   // 当布尔表达式 1 为真时执行
}
else if( boolean_expression 2)
{
   // 当布尔表达式 2 为真时执行
}
else if( boolean_expression 3)
{
   // 当布尔表达式 3 为真时执行
}
else 
{
   // 当上面条件都不为真时执行
}Code language: JavaScript (javascript)

例子

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 100;
 
   // 检查布尔条件
   if( a == 10 )
   {
       // 如果 if 条件为真,则输出下面的语句
       cout << "a 的值是 10" << endl;
   }
   else if( a == 20 )
   {
       // 如果 else if 条件为真,则输出下面的语句
       cout << "a 的值是 20" << endl;
   }
   else if( a == 30 )
   {
       // 如果 else if 条件为真,则输出下面的语句
       cout << "a 的值是 30" << endl;
   }
   else
   {
       // 如果上面条件都不为真,则输出下面的语句
       cout << "没有匹配的值" << endl;
   }
   cout << "a 的准确值是 " << a << endl;
 
   return 0;
}Code language: PHP (php)

练习:

输入一个分数,输出 不及格 及格 良好 优秀

嵌套if else的写法

#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个分数 然后输出等级 不及格<60 60-79 及格 80-89 良好 90+优秀
	int i;
	cin >> i;
	if (i < 60)
	{
		cout <<  "不及格" << endl;
	}
	else
	{
		if (i<80)
		{
			cout << i << "不及格" << endl;
		}
		else
		{
			if (i<90)
			{
				cout << i << "良好" << endl;
			}
			else
			{
				cout << i << "优秀" << endl;
			}
		}
	}
	//cout << i << endl;
	
	return 0;
}Code language: PHP (php)
#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个分数 然后输出等级 不及格<60 60-79 及格 80-89 良好 90+优秀
	int i;
	cin >> i;
	if (i < 60)
	{
		cout << "不及格" << endl;
	}
	else if (i < 80)
	{
		cout << i << "不及格" << endl;
	}
	else if (i < 90)
	{
		cout << i << "良好" << endl;
	}
	else
	{
		cout << i << "优秀" << endl;
	}

	//cout << i << endl;

	return 0;
}Code language: PHP (php)

嵌套 if 语句

在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。

if( boolean_expression 1)
{
   // 当布尔表达式 1 为真时执行
   if(boolean_expression 2)
   {
      // 当布尔表达式 2 为真时执行
   }
}Code language: JavaScript (javascript)

实例

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
 
   // 检查布尔条件
   if( a == 100 )
   {
       // 如果条件为真,则检查下面的条件
       if( b == 200 )
       {
          // 如果条件为真,则输出下面的语句
          cout << "a 的值是 100,且 b 的值是 200" << endl;
       }
   }
   cout << "a 的准确值是 " << a << endl;
   cout << "b 的准确值是 " << b << endl;
 
   return 0;
}Code language: PHP (php)

我们的例子

#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个整数 然后判断一个值 是不是在100到200之间 不包含100和200 100-200
	int i;
	cin >> i;
	
	if (i>100)
	{
		if (i<200)
		{
			cout << i << "在100到200之间" << endl;
		}
	}

	return 0;
}Code language: PHP (php)

switch 语句

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

switch(expression){
    case constant-expression  :
       statement(s);
       break; // 可选的
    case constant-expression  :
       statement(s);
       break; // 可选的
  
    // 您可以有任意数量的 case 语句
    default : // 可选的
       statement(s);
}Code language: JavaScript (javascript)
#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   char grade = 'D';
 
   switch(grade)
   {
   case 'A' :
      cout << "很棒!" << endl; 
      break;
   case 'B' :
   case 'C' :
      cout << "做得好" << endl;
      break;
   case 'D' :
      cout << "您通过了" << endl;
      break;
   case 'F' :
      cout << "最好再试一下" << endl;
      break;
   default :
      cout << "无效的成绩" << endl;
   }
   cout << "您的成绩是 " << grade << endl;
 
   return 0;
}Code language: PHP (php)
#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个整数 如果是1 则输出红色 如果是2 则输出绿色 如果是3 则输出蓝色 否则输出黑色
	int i;
	cin >> i;

	if (i == 1)
	{
		cout << "红色" << endl;
	}
	else if (i == 2)
	{
		cout << "绿色" << endl;
	}
	else if (i == 3)
	{
		cout << "蓝色" << endl;
	}
	else
	{
		cout << "黑色" << endl;
	}
	return 0;
}Code language: PHP (php)

switch的写法

#include <iostream>
using namespace std;

int main()
{
	//从键盘输入一个整数 如果是1 则输出红色 如果是2 则输出绿色 如果是3 则输出蓝色 否则输出黑色
	int i;
	cin >> i;

	switch (i)
	{
	case 1:
		cout << "红色" << endl;
		break;
	case 2:
		cout << "绿色" << endl;
		break;
	case 3:
		cout << "蓝色" << endl;
		break;
	default:
		cout << "黑色" << endl;
		break;
	}
	return 0;
}Code language: PHP (php)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注