运算符-关系运算符-逻辑运算符-赋值运算符-三者表达式

        运算符分为二元运算符关系运算符赋值运算和三者表达式。下面分别记录运算符的运算规则和示例

二元运算符分为乘法(*)、加法(+)、减法(-)、除法(/)、取余(%)

前面四种和我们数学上面的基本一致,运算从左往右计算,唯一要注意的是后面两种运算,这两种运算需要考虑精度问题,精度取决于数据类型。数据类型的精度见博客上一张数据基础

    精简概括为 由大到小(精度高的转精度低的)缺失精度     由小到大(精度低的转精度高的)没有变化

   数据类型的精度:  double  > float > int > char 

#include <stdio.h>


int main()
{
   int a =200;
   float b = 12.9;
   a = b;             //由精度高的转精度低的  精度缺失 值a = 12;
  printf("a = %d b = %f \n", a, b);
  return;
}


//输出结果为  a = 12 ,  b =12.9;




int main()
{


 int  a = 200;
 float b=12.9;
 char ch = 'a';
 a = b;         //高精度转低精度  a = 12
 b = ch;        //低精度转高精度 没有变化 b=97 'a'的ACCIS码

printf("a = %d \t b = %f",a,b);

 return;
}

   关系运算符

关系运算符有: 大于号(>)、小于号(<)、大于等于号(>=)、小于等于号(<=)、等等于号(==)、不等于号(!=)

比较运算符之间的关系,如果结果正确 返回1,错误返回0 。返回的是整型

 

一元运算符

 一元运算符有自加(++)、自减(–) 、赋值运算符(=)

int main()
{

    int a =10;
    int b = 0;

    a--;//  先赋值再运算  a= a-1;   运算到此  a = 9
    --a;//  先运算再赋值            运算到此  a = 8

    a = a--;   // a=a;  a= a-1 把a--看成一个整体     运算到此  a = 7
    a = --a;   //a=     a = a-1;  符号只能赋值一次   运算到此  a = 6
    b = a-- + a--;   //b = a+; a =  a-1   b =19   运算到此  a = 4  b = 12  先赋值再做自身运算  
   
    return;

}

 赋值运算符

  赋值运算符(=)

int main()
{

 int a =10; 
 int b;
 b = a;
 printf("a = %d, b = %d",a,b);
 return ;
}

   逻辑运算符

 与 (&&)  :  并且  判断条件之间的关系,如果有一个为假,那么条件为假

或( | | ) :  或者   判断条件只要有一个为真,就是真的 后面不再继续判断执行

非( ! ): 取反, 0为假  非0为真

与或非 优先级从左往右计算

//非示例
int main()
{
    int a =1;
    int b = -1;
    int d = !b;
    printf("a = %d ,b = %d c = %d ",a,b,d);//  a = 1 b = -1, d= 0
   return;
}


//与(&&)示例
int main()
{
    int a =1;
    int b = -1;
    int c = --a && --b; 
    printf("a = %d ,b = %d c = %d ",a,b,c);//  a = 0 b = -1, c= 0
   return;
}

 赋值运算符

 赋值运算符包括乘等于(*=)、除等于(/=)、取模等于(%=)、加等于(+=)、减等于(-=) 、等于(=)

int main
{
    int a,b; 
    a += b;  //   a =a+b
    a -= b;  //   a= a-b 
    a *= b;  //   a =a*b
    a /= b;  //   a= a/b
    a % = b;  //  a =a%b
    a = b;  //    a =b
     return;
}

sizeof()   //求字节大小

 


版权声明:本文为weixin_41424481原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。