判断结构概述
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
如果(明天下雨?)
是:在家玩游戏
否:去打羽毛球
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)