首页 > 编程语言 > 详细

C语言操作符

时间:2021-02-08 22:30:22      阅读:24      评论:0      收藏:0      [点我收藏+]
算术操作符

+ - * / %
加减乘除我这边就不多介绍了 ,我这里主要来介绍一下%
%(取模)余数
怎么来使用呢?
s= 6%4
s为多少呢?s等于6取模4 也就是6除以4还余多少,我们这里的s=2;

移位操作符

>> <<
移位操作符分为两种,左移和右移,移位移位 移的是什么呢?其实就是二进制位。
<< 左移
例如:a等于1,s等于a向左移动1位。s的值位多少呢?

    int a = 1;
    int s = a << 1;
    printf("%d" ,s);

思路:我们移位移动的就是二进制位,我们来看整型a的值为1,转换为二进制为00000000000000000000000000000001(整型4字节 1字节=8位 所以这里是32位二进制数)
00000000000000000000000000000001
00000000000000000000000000000010
所以s的值为2^1=2

>>右移   同理

位操作符

& ^ |
位操作符同上,也是对于二进制为来使用的

int a = 3;
    int b = 5;
    int c = a & b;
    int d = a | b;
    int e = a ^ b;
    printf("%d", c);
    printf("%d ", d);
    printf("%d ", e);

思路:c的值为多少呢?
我们要先把a的值3转换为二进制 ……011
b的值5转换为二进制……101
&操作符二进制位相同为1不同为0 ……001
|操作符只要有一方为真结果就位1,否则为0 ……111
^操作符相同为0不同为1 ……110
所以c得到001 转换为10进制数也就是1.
所以d得到111 转换为10进制数也就是7.
所以e得到110 转换为10进制数也就是6.

赋值操作符

= += -= /= *= &= ^= |= &lt;&lt;= &gt;&gt;=
例如

    //赋值操作符
    int a = 1;
    a = 3;   //赋值
    a = a + 10; ==(   a += 10;)

单目操作符和双目操作符以及三目操作符
单目操作符有

! (逻辑反操作)、- (负值)、+(正值)、&(取地址)、sizeof (操作数的类型长度)、~ (对一个数的二进制按位取反)、--(前置,后置--)、++(前置,后置++)、*(间接访问操作符)。

int a = 1;
int b = 2;
int s = a + b; //这里的+号就是一个双目操作符,也就是有两个操作数
那么三目操作符也就是三个操作数。

C语言操作符

原文:https://blog.51cto.com/15100290/2622349

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!