1.5 if语句与表达式

1.5 if语句与表达式

1. 三大结构的认识

  • 顺序结构:从上至下,从左至右
  • 分支结构(选择结构):if, switch
  • 循环结构:for, while

2. 关系表达式

等于 不等于 大于 小于 大于等于 小于等于
== != > < >= <=

3. 逻辑表达式

&& 逻辑与 a&&b 同真为真 1&&1=1 1&&0=0
|| 逻辑或 a||b 同假为假 1||0=1 0||0=0
! 逻辑非 !a 非假即真,非真即假 !0=1 !1=0

4. if语句

bool flag = true;
布尔类型,只有两种格式:true, false
也可以记作1和0,0表示false, 非0表示true

bool flag = true;
if(flag){       // 如果flag为真,就执行{}中的内容,否则不执行
    cout<<1<<endl;
}

bool flag=0;
if(flag){       // 如果flag为真,就执行{}中的内容
    cout<<1<<endl;
}else{          // 如果if不执行,就执行else{}中的内容
    cout<<2<<endl;
}

bool flag=0;
if(flag){       // 如果flag为真,就执行{}中的内容,否则不执行
    cout<<1;
}else if(flag){ // 如果前面没有执行,且满足现在的if,就执行
    cout<<2;
}else if(flag){ // 如果前面没有执行,且满足现在的if,就执行
    cout<<3;
}else{          // 如果前面没有执行,就执行else{}中的内容
    cout<<4;
}

5. 案例练习

【题目描述】输入一个整数,输出该数的绝对值。
如果该数是负数,在输出该数前加个提示"注意负数!"

输入样例:-10
输出样例:

注意负数!
10
#include<iostream>
#include<cmath>
using namespace std;

int main(){
    int n; cin>>n;
    if(n < 0){
        cout<<"注意负数!\n";
    }
    cout<<abs(n);
    return 0;
}

【题目描述】输入一个整数,判断其是奇数还是偶数

输入样例:10
输出样例:10是偶数

  • 程序1
#include <iostream>
using namespace std;

int main() {
    int n; cin>>n;
    if( n%2 == 0 ) {
        cout<<n<<"是偶数"<<endl;
    }
    if(n%2!=0) {
        cout<<n<<"是奇数"<<endl;
    }
    return 0;
}
  • 程序2
#include<iostream>
using namespace std;

int main(){
    int n; cin>>n;
    if(n%2==0)  //判断两个数相等用双等于
        cout<<n<<"是偶数";
    }else{
        cout<<n<<"是奇数";
    }
    return 0;
}

【题目描述】星星公司致力于信件快递服务,收费标准为:500克及以内6元,超过500克9元

输入样例:500
输出样例:收费6元

#include<iostream>
using namespace std;

int main(){
    int w, money=6; cin>>w;
    if(w > 500){
        money = 9;
    }
    cout<<"收费"<<money<<"元";
    return 0;
}

【题目描述】输入年份year,输出该年份是否为闰年。
判断闰年的方法:年份能被4整除但不能被100整除 或者 年份能被400整除的称为闰年。

输入样例:2020
输出样例:2020是闰年

输入样例:2021
输出样例:2021不是闰年

#include<iostream>
using namespace std;

int main(){
    int year; cin>>year;
    bool flag=(year%4==0&&year%100!=0)||(year%400==0);
    if(flag){
        cout<<year<<"是闰年";
    }else{
        cout<<year<<"不是闰年";
    }
    return 0;
}

6. 条件表达式

格式:<表达式1>?<表达式2>:<表达式3>

条件表达式要求有三个操作对象,"?"和":"一起出现在条件表达式中,称三目(元)运算符,它是C++中唯一的一个三目运算符。
条件表达式的运算规则:
(1)计算表达式1的值。
(2)若表达式1的值为真(或非0),则只计算表达式2,并将其结果作为整个表达式的值。
(3)反之,若表达式1 的值为假(或为0),则只计算表达式3,并将其结果作为整个表达式的值。

举例:求 a,b 的最大值

int tmax = a>b ? a:b;

举例:求a,b的最小值

int tmin = a<b ? a:b;
posted @ 2021-08-13 13:40  HelloHeBin  阅读(565)  评论(0编辑  收藏  举报