C++ 逻辑运算符
教程导读
学研发网的这篇信息学奥赛技术教程文章主要介绍了C++ 逻辑运算符,现在分享给大家,供学习和参考。文章包含2365字,纯文字阅读大概需要6分钟。
教程信息
学习目标
掌握逻辑运算符。
掌握练习题目。
逻辑运算符 用于将 bool 表达式的结果进行连接。
一、场景举例
比如:地理科目成绩超过95分的学生班级奖励中国地图一份。
这里面就包含了两个条件:
1)考试成绩是 95 分以上;
2)考试科目为地理;
这两个条件都满足,班级就会奖励中国地图一份。
那怎么才能将这两个条件连接起来呢?用逻辑表达式 与(且)也就是 &&,来完成。
int chengJi; string keMu; cout << "请输入考试科目:" << endl; cin >> keMu; cout << "请输入科目成绩:" << endl; cin >> chengJi; if(chengJi >= 95 && keMu == "地理"){ cout << "奖励中国地图一份" << endl; }else{ cout << "没有达到奖励条件" << endl; }
执行结果:
二、逻辑运算符
对于以上的逻辑运算符,记住使用方法和规则。
逻辑运算符场景举例
&&
和||
的区别
if(a>b&&a>c) cout<<a;
如果a比b大,a又比c大,a就是最大的。也就是说如果a是最大值就输出a
if(a>b||a>c) cout<<a;
如果a比b大,或者a比c大,a就是不是最小的。
!
(非)
当参与运算的量为真时,结果为假(0);当参与运算的量为假时,结果为真(1)。
如:
!(5>0)
由于5>0的结果为真(true),非的结果为假(false)。
!(4>8)
由于4>8的结果为假(false),非的结果为1(true)。
代码案例
可以给下方代码加上 cout 进行输出。
int a=0; int b=0; cout <<"请输入a的数值:" << endl; cin >> a; cout <<"请输入b的数值:" << endl; cin >> b; cout << endl << endl; bool result; // a 大于等于 0 ,并且 a 小于等于 10 result=(a >=0 && a <= 10); printf("%-5d result=(a >=0 && a <= 10) \n",result); // a 大于等于60,或者 a 小于等于 18 result=(a >= 60 || a <= 18); printf("%-5d result=(a >= 60 || a <= 18) \n",result); // a 大于等于 10 ,并且 b 不等于 20 result=(a >= 10 && b != 20); printf("%-5d result=(a >= 10 && b != 20) \n",result); // 非trueInfo bool trueInfo = true; result=(!trueInfo); printf("%-5d result=(!trueInfo) \n",result);
执行结果:
三、编程练习
练习:考试奖励。
地理科目成绩达到或超过95分的,奖励中国地图一份。
输入输出:
【输入描述】输入科目信息,考试成绩信息 【输出描述】输出奖励结果 【样例输入】地理 98 【样例输出】奖励中国地图一份
参考代码:
int chengJi; string keMu; cout << "请输入考试科目:" << endl; cin >> keMu; cout << "请输入科目成绩:" << endl; cin >> chengJi; if(chengJi >= 95 && keMu == "地理"){ cout << "奖励中国地图一份" << endl; }else{ cout << "没有达到奖励条件" << endl; }
完善上面代码,分数不能超过100,也不能小于 0
int chengJi; string keMu; cout << "请输入考试科目:" << endl; cin >> keMu; cout << "请输入科目成绩:" << endl; cin >> chengJi; if(chengJi>100||chengJi<0){ cout << "输入异常,请输入0-100的分值。" << endl; }else{ if(chengJi >= 95 && keMu == "地理"){ cout << "奖励中国地图一份" << endl; }else{ cout << "没有达到奖励条件" << endl; } }
执行结果:
练习:判断一个字母是不是大写字母。
要判断一个字母是不是大写字母,需要做的是看看这个字母是不是比最小的大写字母大并且比最大的大写字母小。
输入输出:
【输入描述】一个字母 【输出描述】yes或者no 【样例输入】a 【样例输出】yes
参考代码:
#include <iostream> using namespace std; int main( ) { char a; cin>>a; if(a>='a'&&a<='z') cout<<"yes"; else cout<<"no"; return 0; }
执行结果:
练习:姐弟期末奖励
姐弟和妈妈约定,期末只要有一个人平均分超过95就奖励去看电影。请问他们是否能赢得奖励。(a<=100,b<=100)
输入输出:
【输入描述】三个数字,a,b表示姐弟的期末平均分。 【输出描述】yes或者no 【样例输入】94 97 【样例输出】yes
参考代码:
#include <iostream> using namespace std; int main( ) { float a,b; cin>>a>>b; if(a>=95||b>=95) cout<<"yes"; else cout<<"no"; return 0; }
执行结果:
教程咨询
如果章节内容看不懂,可以联系作者。
教程总结
以上是学研发网为您提供C++ 逻辑运算符的全部内容,希望教程文章能够帮你了解学习C++ 逻辑运算符,解决所遇到的问题。 如果觉得学研发网信息学奥赛教程内容还不错,欢迎将学研发网网站推荐给身边需要的人。
教程备注
版权声明:教程内容为学研发网整理和编写,如需转载请联系站长并附上文章原始链接和原始作者信息。
手机阅读
扫描二维码推送至手机访问。
本文链接:http://www.xueyanfa.com/xinaojiaocheng/xinaocpp-41.html