C++语法14 双分支结构 if…else语句和逻辑运算符

什么是双分支结构?

双分支:有两条路,而且这两条路都可以选择。如果满足判断条件,就执行语句1,不满足就执行语句2。

双分支结构基本框架

复制代码
if(条件表达式)  //如果条件成立
{
      语句1;    //条件真时执行
 }
else             //否则
{
      语句2;    //条件假时执行
}

训练:期末成绩

乐乐在期末考试结束,感觉心里没底,于是提前去问老师考试情况,老师告诉他的得分为a,达到60分就是及格,未达到就是不及格。如果及格就输出happy(开心),不及格就输出sad(悲伤)。(0<=a<=100)

【输入格式】一个整数a,表示分数

【输出格式】happy或者sad

【输入样例】75

【输出样例】happy

解析

达到60分:达到60分是包括60分,且大于60分,如果用a表示分数,达到60分就是a>=60,输出"yes"

未到达60分:达到60分的相对面,即除去大于等于60的情况,输出"no",这里用else语句

参考代码

复制代码
#include <iostream>
using namespace std;
int main( )
{
    int a;
    cin>>a;
    if(a>=60)  cout<<"happy";
    else   cout<<"sad";
    return 0;
}

逻辑运算符

"并且"在C++中的写法为"&&",它是一种运算符,称作逻辑运算符。

逻辑运算符有3种:

与、并且( && )

或者(||)

非(!)

&&(并且)

当参与运算的两个条件都为真时,结果才会真(1);否则为假(0)。

如:5>0 && 4>2

由于5>0为真,4>2也为真,相"与"的结果也为1。

5>6 && 4>2

由于5>6为假,则不管后面为不为真,相"与"结果都为0。

||(或者)

当参与运算的两个条件中只要有一个为真,结果就为真(1);当两个量都为假时,结果为假(0)。

如:5>0 || 4>8

由于5>0已经为真,不管后面是否为真,相或结果都为1;

5<0 || 4>8

由于5<0为假,4>8也为假,相或结果也为0。

&&和||的区别

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的结果为真,非的结果为0。

!(4>8)

由于4>8的结果为假,非的结果为1。

训练:三人比赛

乐乐和克克希望跟老师比赛跑操场三圈。于是分别对三人的跑步时间进行了记录,乐乐花费时间a,克克花费时间b,老师花费时间c,三人约定只要乐乐和克克中有一个人能赢老师就算都赢了。请问他俩是否能赢得比赛?(a<=100,c<=100,b<=100)

【输入格式】三个正整数,a,b,c,分别表示三人的时间

【输出格式】yes或者no

【输入样例】10 15 12

【输出样例】yes

解析

用时少者赢:跑步比赛,时间用时少者赢得比赛

赢得比赛情况:乐乐与克克只要其中一人赢得比赛就算赢,即乐乐赢或者克克赢或者全赢,都算赢

参考代码

复制代码
#include <iostream>
using namespace std;
int main( )
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a<c||b<c)  cout<<"yes";
    else  cout<<"no";
    return 0;
}
相关推荐
Evand J5 分钟前
【MATLAB例程】AOA与TDOA混合定位例程,适用于三维环境、4个锚点的情况,附下载链接
开发语言·matlab
机器视觉知识推荐、就业指导5 分钟前
Qt 与Halcon联合开发八: 结合Qt与Halcon实现海康相机采图显示(附源码)
开发语言·数码相机·qt
DoraBigHead22 分钟前
小哆啦解题记——映射的背叛
算法
mit6.82433 分钟前
[vroom] docs | 输入与问题定义 | 任务与运输工具 | json
c++·自动驾驶
Heartoxx33 分钟前
c语言-指针与一维数组
c语言·开发语言·算法
hqxstudying35 分钟前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
charlie1145141911 小时前
如何使用Qt创建一个浮在MainWindow上的滑动小Panel
开发语言·c++·qt·界面设计
孤狼warrior1 小时前
灰色预测模型
人工智能·python·算法·数学建模
京东云开发者1 小时前
京东零售基于国产芯片的AI引擎技术
算法
神仙别闹1 小时前
基于Python实现LSTM对股票走势的预测
开发语言·python·lstm