C++语言基础_第二讲_分支结构_if语句/swith语句/关系运算与逻辑运算

if语句

在C语言中也经常需要对一些条件作出判断,从而决定执行哪一段代码,这时就需要使用选择结构语句。if条件语句有三种语法格式。

  • if
  • if..else
  • if..else if..else(嵌套)

if语句——单分支结构

if...else语句——双分支结构

if..else if..else  

在一个if语句中还可以包含一个或多个if语句,这称为if语句的嵌套。

switch语句

switch条件语句也是一种常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。

关系运算与逻辑运算 

运算符类型作用
算数运算符用于处理四则运算
赋值运算符用于将表达式的值赋值给变量
逻辑运算符用于表达式的比较,并返回一个真值或假值
三目运算符用于根据表达式的值执行相应的语句
逗号运算符用于连接并执行若干表达式,并返回最后一个表达式的值
位运算符用于处理数据的位运算
sizeof运算符用于求字节数长度

关系运算符

关系运算符用于对两个数值或变量进行比较,其结果是一个逻辑值(“真1”或“假0)。

运算符运算范例结果
==相等于4==30
!=不等于4!=31
<小于4<30
>大于4>31
<=小于等于4<=30
>=大于等于4>=31

逻辑运算

逻辑运算符用于判断数据的真假,其结果仍为“真”或“假”。

运算符运算范例结果
!a如果a为假,则!a为真;如果a为真,则!a为假
&&a&&b如果a和b都为真,则结果为真否则为假
||a||b如果a和b有一个或一个以上为真,则结果为真,二者都为假,结果为假
  •  实例1

输入一个学生的成绩score,判断是否几个(>=60,及格)。

#include<iostream>

using namespace std;
int main()
{
    float score;
    cin>>score;
    if(score>=60)
        cout<<"及格"<<endl;
    else
        cout<<"不及格"<<endl;
    return 0;
}
  • 实例2
#include<iostream>

using namespace std;
int main()
{
    float score;
    cin>>score;
    if(score>=70)
        if(score<80)
            cout<<"中等"<<endl;
        else if(score<90)
                cout<<"良好"<<endl;
            else
                cout<<"优秀"<<endl;         
    else if(score>=60)
            cout<<"及格"<<endl;
        else
            cout<<"不及格"<<endl;
    return 0;
}
  • 实例3

输入一个年份,判断其是闰年还是平年(非整百年:能被4整除的为闰年;整百年:能被400整除的是闰年。)。

#include<iostream>

using namespace std;
int main()
{
    int year;
    cin>>year;
    if((year%4==0&&year%100==0)||(year%400==0))
    {
        cout<<"这一年是闰年。"}<<endl;
    else
    {
        cout<<"这一年是平年。"<<endl;
    }
    return 0;
}
  • 实例4

输入一个整数,判断其是否为水仙花数。(所谓的水仙花数是值一个n位数(n>=3),它的每个位上的数字n次幂之和等于本身。例如3位数153是水仙花,各位数字的立方和1^3+5^3+3^3=153).

#include<iostream>

using namespace std;
int main()
{
    int num,a,b,c;
    cin>>num;
    a=num%10
    b=(num/10)%10;
    c=num/100;
    if (num==(a*a*a+b*b*b+c*c*c))
        cout<<num<<"是水仙花数"<<endl;
    else
    {
        cout<<"不是水仙花数"<<endl;
    }
    return 0;
}
  • 实例5

输入一个月份,判断属于什么季节(阳历3-5月为春季,6-8月为夏季,9-11月为秋季,12月-来年2月为冬季。)

#include<iostream>

using namespace std;
int main()
{
    int month,season=0;
    cin>>month;
    if(3<==month&&month<=5)
        season=1;
    else if(6<=month&&month<=8)
            season=2;
         else if(9<=month<=11)
                season=3;
            else if((1<=month<=2||(month==12))
                    season=4;
    switch(season)
    {
    case 1:
        cout<<"春季"<<endl;
    case 2:
        cout<<"夏季"<<endl;
    case 3:
        cout<<"秋季"<<endl;
    case 4:
        cout<<"冬季"<<endl;
        break
    default: cout<<"输入的月份不对!"<<endl;
    }
    return 0;
}    

特别注意:

  • ==运算千万不要写成赋值=

例如:if(a==b)不是if(a=b)

  • 优先级

&&优先级高于||

&&、||优先级低于关系运算

!优先级高于所有关系运算和算术运算

  • swith语句

swith语句执行完一个case之后不会自动停止,如果需要停止,必须使用break语句

switch语句中的每一个case必须是一个单独的值。这个值必须是整数或字符,不能是浮点数。如果涉及取值范围、浮点测试、或比较,则先使用if else转换。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BelongToMe@Hui

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

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

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

打赏作者

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

抵扣说明:

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

余额充值