• C语言运算符(注意事项)


    1.C语言取余注意事项:%

       a.求余、模运算符(%)时要求两数必须是整型数据。

      b.取余的结果,是取决于被除数   (不管除数是正数 还是 负数,模的符号与被除数的符号相同)。

        例:8÷2=4 则2为除数。8为被除数。

                     7%4的结果是3
         -7%4的结果是-3
          3%-4的结果是3

     

    2.逗号运算符:  ,

      a.逗号运算符,取括号里面最右边的数。 

        例如: int a=1,int b=1,int c=1;   

            if(a>b.b>c,c>a){}       //if的判断条件只是是看 c>a

      b.逗号运算符允许将多个表达式组合成为一个表达式。这个特点使得它适用于在 for 循环头部初始化或递增多个变量。

        int i; float fArray[10], val;

         for ( i=0, val=0.25; i < 10; ++i, val *= 2.0 ){

              fArray[i] = val;

         }

    3.增量,减量运算符

       a++ a--                

        int a=1,int b=1;int c=1;

          printf("%d",a++);  //直接输出1,然后再a+1=2

          printf("%d",a--); //直接输出1,然后再a-1=0

       ++a --a

          printf("%d",++a);//先a+1,然后输出a=2

          printf("%d",--a);//先a-1,然后输出a=0

    4.逻辑运算符

             ||  逻辑或 :  1/真   | |   XXX   (直接短路,右边不用计算)

       &&逻辑与:   0/假  && XXX (直接短路,右边不用计算)

    5.位操作运算符(只针对整型)

        对于更多紧凑的数据,C 程序可以用独立的位或多个组合在一起的位来存储信息。文件访问许可就是一个常见的应用案例。位运算符允许对一个字节或更大的数据单位中独立的位做处理:可以清除、设定,或者倒置任何位或多个位。也可以将一个整数的位模式(bit pattern)向右或向左移动。

       移位运算符的操作数必须是整数。在实际移位操作之前,两个操作数都要进行整数提升(promotion)。右边操作数不可以为负值,并且必须少于左边操作数在整数提升之后的位长。如果不符合这些条件,程序运行结果将无法确定。

       左移时总是移位和补零(丢弃最高位,0补最低位)。右移时无符号数是移位和补零,此时称为逻辑右移;而有符号数大多数情况下是移位和补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。 

    unsigned long n = 0xB,     // 位模式:    0 ... 0 0 0 1 0 1 1
             result = 0;
    result = n << 2;          //左移              0 ... 0 1 0 1 1 0 0
    result = n >> 2;          //右移              0 ... 0 0 0 0 0 1 0

     

     

        

    tianjiale菜鸟名企梦
  • 相关阅读:
    笔记
    【转】并行类加载——让tomcat玩转双十一 @双十一实战
    Twitter Snowflake 生成唯一id java版本
    nginx添加 nginx_heath模块
    谁在关心toString的性能?
    HashMap的工作原理
    修改nginx版本名称伪装任意web server
    nginx concat模块配置 页面返回400 bad request
    linux 安装rz sz命令
    nginx 添加nginx-http-concat模块
  • 原文地址:https://www.cnblogs.com/tianjiale/p/9795490.html
Copyright © 2020-2023  润新知