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;
}
相关推荐
ulias21219 分钟前
智能指针简述
开发语言·c++·算法
阿昭L20 分钟前
Windows通用的C/C++工程CMakeLists
c语言·c++·windows·makefile·cmake
寻寻觅觅☆21 分钟前
东华OJ-基础题-58-素数表(C++)
开发语言·c++·算法
专心搞代码21 分钟前
【大模型开发】python基础(二)
开发语言·python
咸鱼2.021 分钟前
【java入门到放弃】Session和JWT
java·开发语言
桦021 分钟前
【C++复习】:多态
c++
AI成长日志21 分钟前
【强化学习专栏】深度拆解:多智能体强化学习核心理论与工程实践
算法
Flying pigs~~22 分钟前
基于TF_IDF和Bagging的文本分类全过程
算法·随机森林·机器学习·nlp·文本分类
J2虾虾24 分钟前
使用GeoTools把Geojson转换成Shp文件
java·开发语言·geotools
树獭叔叔25 分钟前
FFN 激活函数深度解析:从 ReLU 到 SwiGLU 的演进之路
算法·aigc·openai