生活中我们总是不断的在做选择,在不同的抉择下我们做的当前抉择下的事。在C++中该如何表达这样的判断逻辑呢?
例如某一次考试如果考到85分以上你会有一个奖励,反之会有一个惩罚,我们用代码说明一下,这在C++中称之为分支结构:
#include <iostream>
using namespace std;
int main()
{
int score;
cin >> score;
if(score >= 85)//如果在C++中用if表示
{
cout << "获得一个奖励" << endl;
}
else//否则在C++中用else表示
{
cout << "接受一个惩罚" << endl;
}
return 0;
}
在上面代码中可以不需要否则的部分,可能考差了不会收到惩罚呢?我们现在来关注一下我们在如果中里需要的是什么,答案就是我们之前说的条件运算符的使用所构成的真假表达式,也就是判断的条件最终要么真要么假,(条件运算符:<、<=、>、>=、==、!=)例如if(5 == 3)如果5和3相等我们就进入这个块里执行我们在这个条件里的语句否则就不进入。在语言中我们把表达式最终的真假总结为boolean值,bool类型表示,只有真假:真为true,假为false。最后我们说明一下各个情况:
#include <iostream>
using namespace std;
int main()
{
int score;
cin >> score;
if(score == 100)
{
cout << "yes" << endl;
cout << "ok" << endl;
}
else if(score < 50)
{
cout << "no" << endl;
}
else
{
cout << "jj" << endl;
}
return 0;
}
可以看出我们的类型了吧:可以只有if,不能没有if有else,如果多个情况我们可以不断的if-else if-else if-else。。。最后可以没有else。
这样还需要解决一个问题,怎么解决一个条件由多个因素影响呢?排上用场的的两个运算符:||(表示或者)、&&(表示并且),
如果一个条件中由其中一个正确的我们就执行用或者,如果所有条件都需要满足我们用并且:
#include <iostream>
using namespace std;
int main()
{
int score;
cin >> score;
if(score == 100)
{
cout << "yes" << endl;
cout << "ok" << endl;
}
else if(score >= 60 && score <= 85)
{
if(score == 70)
{
cout << "yy" << endl;
}
else
{
cout << "yes or no" << endl;
}
}
else if(score < 0 || score > 100)
{
cout << "what ???" << endl;
}
return 0;
}
以上简单的说明C++判定使用,记住可以嵌套使用。
练习题可做洛谷题目,这里给出链接:https://www.luogu.com.cn/training/101#problems