C语言-操作符

操作符

 

  • 算数操作符

+     -     *      /       %

加   减   乘   除    求余

  1. %操作符的两个数必须为整数,返回的是整除之后的余数
  2. /操作符,只要有浮点数执行的就是浮点数除法
  3. n/0,n%0 都不行会编译报错,0/n,0%n 结果都为0
  • 移位操作符

<<    左移操作符

>>    右移操作符 

  1. 移位操作符是对二进制数进行操作,因为计算机内数据都是以二进制的形式进行存储。
  2. 左移一位相当于*2,右移一位相当于/2
  3. 右移
    1. 逻辑右移:最左侧(最高位)就补0;
    2. 算术右移:最左侧补符号位;
  4. 对于移位操作符,不要移动负数位;例:10>>-1;//error,这个是标准未定义的
  • 位操作符

  1. &   按位与:如果两个操作数都为1,结果为1,否则为0;
  2. |     按位或:如果两个操作数都为0,结果为0,否则为1;
  3. ^   按位异或:如果两个操作数相同,结果为0,相异结果为1;
  4. ~   按位取反:如果遇到0则变为1,如果遇到1则变为0;
  • 赋值操作符

初始化和赋值两者不同;(常量不可以赋值,{}不可以赋值)

例:int    num = 10; // 初始化

       num = 20; // 赋值

  • 单目操作符 (只有一个操作数的操作符)

  1. !       逻辑反操作(非真及假)
  2. -         负值
  3. +        正值
  4. &        取地址
  5. sizeof  操作数的类型长度(以字节为单位),可以求变量(类型)所占空间大小
  6. ~         对一个数的二进制按位取反
  7. --        前置,后置--
  8. ++      前置,后置++
  9. *         间接访问操作符(解引用操作符)
  10. (类型)  强制类型转换
  • 逻辑操作符

&&    逻辑与:如果两侧的表达式都为真,结果为真,否则为假

||        逻辑或:如果两侧的表达式都为假,结果为假,否则为真

对于逻辑与&&操作符来说,如果左侧的表达式为假,那么右侧的表达式不再求值

对于逻辑或||操作符来说,如果左侧的表达式为真,那么右侧的表达式不再求值

位操作符与逻辑操作符的区别:

  1. 1 & 2   -->   0 ,    1 && 2   -->  1;
  2. 1 | 2   -->   3,   1 || 2   -->   1;

位操作符将数字转化为二进制进行操作;

  • 条件操作符(3目运算符,优先级最低

exp1(条件) ?exp2 : exp3

例:x > y ? x : y ;   //若x>y成立则输出x,不成立输出y。

  • 逗号操作符

逗号表达式,就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果

例: int a=1;

        int b = 2;

        int c = (a > b,a=b+10,a,b=a+1); //逗号表达式

        结果为 c = 13;

  • 下标引用,函数调用和结构成员

    • []下标引用操作符

操作数:数组名 + 下标值

例:int arr[10]; //创建数组

       arr[9] = 10; //使用下标引用操作符

       [ ]的两个操作数是arr和9.

  •  ()函数调用操作符
  • 访问一个结构的成员

.       结构体.成员名

->    结构体指针->成员名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值