C++选择结构学案

【学习目标】

  1. 熟练掌握 C++ 中的关系、逻辑运算符。
  2. 熟知关系、逻辑运算符和数学运算符的优先级。
  3. 学会正确使用选择表达式。

【知识着陆】
1、关系运算符
在这里插入图片描述

使用关系运算符需要注意的问题
(1)“等于”与“赋值”的区别;
(2)实型数据(浮点数)的关系运算;
(3)运算符的优先级,如下表:
在这里插入图片描述

例1、假设变量定义为“int x=6,y=4,z=5;”,请分别写出下列表达式的值。
(1) x + y > y + z (2) ‘ x ’ < ‘ z ’
(3) x == x >= y (4) (x < y) >(y <= z)

2、逻辑运算符
在这里插入图片描述
在这里插入图片描述

逻辑运算符的优先级问题

在这里插入图片描述

注意:a、整型数据在参与逻辑运算时,根据其值是 0 或非 0,分别当作逻辑值“假”或“真”进行处理。
b、在逻辑表达式的计算过程中,一旦能够确定整个表达式的值,就会立刻停止计算。 (即短路计算)

阅读程序,写出程序的运行结果。

#include<iostream>
using namespace std;
int main(){
    int a,b,c,d;
    a = 2;b = 3;c = 0;
    d = (a > b) && (c = 4);//当判断a>b为假时,后面不会计算,直接赋值d为0
    cout << d << ” ” << c << endl;
    return 0;
}

3、if语句
if 语句有两种格式:
第一种格式为:

if (表达式) 语句1;
else 语句2;
在这里插入图片描述

第二种格式为:

if (表达式) 语句 ;
在这里插入图片描述

例1、旅游费用。
【问题描述】
风华公司“南京一日游”的收费标准为:5 人以内(含 5 人)按散客标准,每人 300 元;超过 5 人,按团体标准,每人 280 元。请根据输入的人数,输出其旅游费用。
【输入格式】
一行一个正整数 n,表示人数,1≤n≤5000000。
【输出格式】
一行一个正整数,表示需要的总旅游费用。
【输入样例】
9
【输出样例】
2520
【问题分析】
这是一个“选择性”问题,根据人数 n 来选择不同的收费标准。条件就是 n≤5,如果成立,那么收费为 n×300;否则,收费为 n×280。

#include<iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    if(n <= 5)
         cout << n * 300 << endl;
     else
         cout << n * 280 << endl;
     return 0;
}

或换成另一种形式:

#include<iostream>
using namespace std;
int main(){
    int n,ans;
    cin >> n;
    ans = n * 300;
    if(n > 5)
        ans = n * 280;
    cout << ans << endl;
    return 0;
}

4、if 语句的嵌套

在分支结构中经常会遇到这样的情况:如果条件1成立,就去做A事情,否则去做B事情,但是,在做A事情(或者B事情)时,还要根据条件2是否成立,决定是做A1(或者B1)这件子事情,还是去做A2(或者B2)这件子事情。在程序设计中,把这种情况称为分支结构的“嵌套”,一般用来解决三种及以上的分支情况。

例1、 三个数的大小比较。
【问题描述】
输入三个整数 x、y、z,判断其是否满足 x≤y≤z。若满足,输出“YES”;否则,输出“NO”。
【输入格式】
一行三个整数 x、y、z,int 范围以内。
【输出格式】
一行一个单词,表示答案。
【输入样例】
3 6 7
【输出样例】
YES
【问题分析】
前面已经介绍过用逻辑表达式“x<=y &&y<=z”来表示YES”的条件,本题也可以用 if语句的嵌套来解决,如图:

#include<iostream>
using namespace std;
int main(){
    int x,y,z;
    cin >> x >> y >> z;
    if(x <= y)
           if(y <= z)
                cout <<  ” YES ”  << endl;
            else
                cout <<  ” NO ”  << endl;
     else
           cout <<  ” NO ”  << endl;
   return 0;
} 

使用 if 语句的嵌套需注意的问题
(1)分支结构可以嵌套很多层;
(2)if 与 else 的配对关系;
(3)编程要形成良好的代码风格;

【学习思考】
1、选择结构的嵌套要慎重
2、视频学习Andy微信13734582485
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫漫信奥之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值