C语言(算术、左移、赋值、位、sizeof计算大小、取反~、强制转换、条件)操作符..

1,算术操作符:+ - * /  %

float函数,浮点型,在9/2两边,显示小数任一一个数显示小数,结果都会显示4.5

 int a = 9 % 2;//(取模,或者取余)

printf("%d\n", a);

结果为4.5;

2、左移函数,

3、位操作符:

&  按位与

\    按位或

|        按位或

^  按位异或

4、符合赋值符

a=a+5;

a+=5;

a=a%5;

a%=5;

5,一般的判断类型,逻辑反操作,单目操作符

int main()
{
            int a = 0;
            printf("%d\n", !a);//感叹号变不假,默认为1;
    if(a)
            {
                //如果a为真,做事    
            }
    if(!a)
            {
                //如果a为假,做事
            }
    return 0;
}

6,sizeof,是一个操作符,计算类型,或者变量大小;

例如:a和10位置一样,大小一样都是4;

sizeof 操作符后面的括号可以省略;

 一个数组里面的元素是int型;所以 arr[0] 的大小是4;

用数组总大小除第一个元素大小,就得到个数。

7,取反操作符  ~

解析:

 把所有二进制中1变0, 0变1.

整数a是0

整型变量是:“4个字节”  一个字节数是8bit位;

所以0的二进制是00000000 00000000 00000000 00000000

~a   :11111111 11111111 11111111 11111111

整数在内存中存的是“补码”,整数在二进制表示有三种:原码,反码,补码;

-1:

      10000000 00000000 00000000 00000001 (原码)最高位是符号位

       111111111 11111111 11111111 11111110  (反码):最高位不变,其他取反

        11111111 11111111 11111111 11111111   (补码)反码的二进制序列+1,得到补码

在内存中里面存储,存储的是补码。 读取的时候是要读取原码。

所以,“0“取反(~a),再倒回去,“补码-1” 得到反码;反码取反,得到原码;即“-1”;

正整数:(原码,反码,补码相同)

8,前置++

 9、后置++

这里不够细容易错误;一定是先a=10给b赋值!! 然后再a++

10 

   (类型)  强制类型转换

 (int)是强制类型转换;

11,逻辑操作符;

&&   逻辑与   :有一个为假,都为假;两个同时为真,都为真;

||      逻辑或   :都为假,才是假。

12  条件操作符(三目操作符);

表达式1 ? 表达式2 :表达式3

表达式1如果成立,表达式2计算,整个表达式是 表达式 2 的结果;

表达式1如果no成立,表达式3计算,整个表达式是 表达式3 的结果;

 注释部分、一个三目操作符就搞定,牛啊牛啊。

13,逗号表达式,从左向右依次计算,(a+A,b+s,g+G)

结果是最后一个表达式的结果

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

[] 数组的下标引用操作符,例如arr[4];

() 函数调用操作符     printf("hehe\n")

                                 printf("hehe\n")

                                 return 0 ;                                 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值