C语言中的基本运算


C语言中的基本运算包活:算术运算,赋值运算,自增自减,sizeof,关系运算(比较运算),逻辑运算,三目运算符

一、算术运算

   1. 加法运算 (+)

       能做加法运算,还能表示正号:+2+13

  2. 减法运算 (-)

       能做减法运算,还能表示负号:-11-13

  3. 乘法运算 (*)

     符号不是x,而是 *

  4. 除法运算 (/)

      整数除于整数,还是整数。1/2的值是0,并不是二分之一

  5. 取余运算 (%)

      两个整数相除之后的余数,%两侧只能是整数,正负性取决于%左侧的数值

*注意点

 1> 自动类型转换 

       int a =10.3;      // 只存整数  10

      自动将大类型转换为了小类型,丢失了数据精度

 2> 自动类型提升

      int b =2.5+3;    //将小类型提升为大类型

      将右边的3提升为了double类型

 3> 强制类型转换

      int b = (int)2.5 

4> 参与运算的数据是什么类型,结果就是什么类型

      double  d = 10/3;           //结果为3

      double  e = 3.0/2;         //结果为1.5

      double  f  = 3/2;              //结果为1

二、赋值运算   (从右到左)

    1.简单赋值

        int b = 10;             // 将10赋值给b

        int a = 10 + 5;       // 将10+5的值赋值给a

        等号左边不能是常量,比如10 = 11;

    2. 复合赋值

        a += 4 + 5;    // a = a 4 + 5

三、自增自减

    1. 自增运算符:如a++,++a,都等价于a = a+1;

    2. 自减运算符如a--,--a,都等价于a = a-1;

    3.  a++,++a的区别

       int b;

       int a = 10;

       b=a++;        //先将a的值赋值给b,再自增     b=10;a=11

       int b;

       int a = 10;

       b=a++;        //先将a自增,再将值赋值给b     b=11;a=11

四、sizeof     ( 用来计算一个变量或者一个常量、一种数据类型所占的内存字节数)

       sizeof( 变量\常量 )

       sizeof 变量\常量

       sizeof( 数据类型 )  

      不能是sizeof 数据类型

五、关系运算(比较运算)

     1. 关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。

     2. 任何非0值都为“真”,只有0才为“假”

     3. 关系运算符==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级于后者:2==3>1

     4. 关系运算符的结合方向为”由左向右“: 4>3>2

     5. 关系运算符的优先级小于算术运算符:3+4>8-2

六、逻辑运算

     1.逻辑与 (条件A&&条件B)

         (1).只有A和B都成立,才为1(真),其它都为0(假)

         (2).运算过程

               若条件A成立,再判断条件B是否成立:如果条件B成立,结果就为1(真),如果条件B不成立,结果就为0(假)

               若条件A不成立,不会再去判断条件B是否成立,结果是0(假)

     2.逻辑或(条件A || 条件B)

         (1).只要A或B有一个成立,就为1(真),只有A和B都不成立为0(假)

         (2).运算过程

               若条件A成立,不再判断条件B是否成立,结果为1(真)

               若条件A不成立,再去判断条件B是否成立,若B不成立,结果是0(假),若B成立结果为1(真)

     3.逻辑非 (!条件A)

           对条件A进行取反:若条件A成立,结果就为0(假);若条件A不成立,结果就为1(真)

七、三目运算符   (条件?数值1:数值2)

      (1) int a = 10>5 ? 9 : 89;     // 如果10>5成立,返回9,不成立,返回89

      (2)获取a和b中最大的数

           int a=10;

           int b=9;

           int c=a>b?a:b;

     








  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值