运算符、类型转换和语句分支

一、运算符
    自变运算符:++/--   使变量自己的值自动加1或减1 
        前自变:++num   立即生效
        后自变:num++   下一条语句才生效
        注意:不要再一行代码中多次使用自变运算符

    算术运算符:+ - * / %
        整数/整数   结果不会有小数部分,肢解去掉小数部分
        / % 除数不能为零,否则会出现“浮点数例外(核心已转储)”

    关系运算符:> < >= <= == !=
        比较的结果只有 0 或者 1,比较后的结果可以继续参与运算
        int n = 5;
        1 <= n <= 100 结果永远为真,与数学的运算规则不同
        注意:== 尽量把常量值放在左边,预防少写一个 = 出现错误

    逻辑运算符:&& || !
        会先把运算的对象转换成逻辑值,0转换为假,非0值转换为真
        A && B  一假即假
        A || B  一真即真
        !A      求反
        && || 的短路特性:
            当表达式前面可以确定整个表达式的结果,后面的内容就不执行
    三目运算符:  运算对象有三个部分
        A ? B : C  
            判断A的值如果为真则执行B,否则执行C
            注意:不要使用三目运算符作为流程控制语句,因为这是个运算符,它应该时作为运算结果存在
    赋值运算符:  = += -= *= /= ...
        a += b;     a = a + b;
    位运算符:  &  |  ~  ^  <<  >>  

二、类型转换
    只有相同类型的数据才能进行运算,不同类型的数据需要转换成相同类型后才能进行运算

    自动类型转换:(以不丢失数据为基础,可以适当的牺牲一些空间)
        1、字节少的向字节多的转
        2、有符号的向无符号的转
        3、整形向浮点型转
        注意:char\short 类型如果与char\short进行运算,编译器会进行类型提升,全部自动提升为signed int再进行运算

    强制类型转换:
        (转后的类型名)数据
        强转会有丢失数据的风险,慎重使用

三、分支语句
    if(表达式)   // 单分支
    {
        //  表达式的值为真,执行此处代码
    }

    if(表达式)   // 双分支
    {
        //  表达式的值为真,执行此处代码
    }
    else
    {
        //  表达式的值为假,执行此处代码
    }

    if(表达式1)   // 多分支
    {
        //  表达式的值为真,执行此处代码
    }
    else if(表达式2)
    {

    }
    else if(表达式3)   
    {
        //  表达式的值为真,执行此处代码
    }
    else   
    {
        //  表达式的值为真,执行此处代码
    }

    练习1:输入三个整数,从小到大显示
    


    开关语句
    switch(n)       //n可以是数值、表达式,但结果必须是整数
    {
        case val1:  //val必须是常量
            ...     //当val 等于 n时则打开执行开关
            break;  //在语句结束后,使用break关闭执行开关
                    //swicth 不能与continue配合
        case val2:
            ...
        default:    // 如果所有的case都没有匹配成功,则最后会打开default开关,而且可以在switch中的任何位置,都会最后执行
    }
    注意:
        如果是表示[n,m]范围可以是
        case n ... m:
        但是这是GNU编译器的特有语法,谨慎使用

    联系4:输入一个月份,请判断季节
    练习5:输入一个月分,判断该月有多少天,忽略润平年

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值