评论

收藏

[C++] C语言编程学习笔记(鹏版)2021/7/10

编程语言 编程语言 发布于:2021-07-11 10:20 | 阅读数:217 | 评论:0

  操作符
  算数操作符
  +      -       *       /              %
  加    减    乘     除     取模、取余数
  移位操作符(移二进制位)
  <<       >>
  左移    右移
  例 DSC0000.jpg
  int b=a<<2;                      //使左移后遵从“左边丢弃,右边补0”规则变
DSC0001.jpg 输出变为了2

  位操作符(2进制位操作)
  &                  |                  ^
  按位与      按位或       按位异或
  按位指对应二进制位置与判断一下,其中1代表对,0代表错
  异或的计算规律:对应的二进制位相同,则为0,不同则为1
  (复合)赋值操作符
  =   +=   -=   *=   /=   &=   ^=   |=   >>=   <<=
  例:a=a+10相当于a+=10;
  a=a-10相当于a-=10;
  a=a&2相当于a&=2,,,,,,
  单目操作符
DSC0002.jpg

  !逻辑反逻辑的例子:
  int main()
  {
  int a=10;
  printf("%d\n",a);
  printf("%d\n",!a);
  return 0;
  }
  此时输出是第一个为10,第二个是0(表示假)
  sizeof的使用方法
  int main()
  {
  int a=10;
  int arr[]={1,2,3,4,5,6};                                    //初始化数组
  printf("%d\n",sizeof(a));                               //输出为4(字节)
  printf("%d\n",sizeof(int));                            //4
  printf("%d\n",sizeof a);                               //4
  printf("%d\n",sizeof(arr));                           //计算数组大小,单位为字节,结果为(4*6=24)
  printf("%d\n",sizeof(arr)/sizeof(arr[0]));     //计算数组中元素个数  
  return 0;
  }
  所以sizeof是操作符,而不是函数,所以sizeof int是不可以的。
  以及要注意int arr[]中的int限制的是arr中元素类型为int,而数组有自己的类型是int[6]
  ~的使用方法
  int main()
  {
  int a=0;                      //1个字节,32bit位
  int b=~a;                  //按(二进制)位取反,就原来10100,取反就01011
  printf("%d\n",b);       //结果为-1,十一点,打印的是这个数的原码
  }
  原码、反码、补码的概念
  (负数2在内存中存储的时候,存储的是二进制的补码,而因为b是有符号的整形,所以其二进制代码的最高位是符号位,0是正,1是负,所以现在b是用的补码)
  负数里原码符号位不变,其他位按位取反是反码;
  反码+1得到补码;
  1.负数的例子:
  补码:11111111111111111111111
  反码:11111111111111111111110
  原码:10000000000000000000001
  2.正数补码反码原码都一样
  ++的使用方法
  int main()
  {
  int a=10;
  int b=a++;                                    //后置++,指先把a赋给b,然后a再自增
  printf("a=%d\nb=%d\n",a,b);       //结果为a为11,b为10
  }
  int main()
  {
  int a=10;
  int b=a++;                                    //前置++,指先把a自增,然后把a赋给b
  printf("a=%d\nb=%d\n",a,b);      //结果为a为11,b为11
  }
  (类型)的使用方法
  int main()
  {
  int a=(int)3.14;              //指强制把3.14转换为()内的类型
  return 0;
  }
  双目操作符
  三目操作符
  关系操作符
  >                >=             <              <=              !=          ==
  大于       大于等于      小于      小于等于      不等于     等于
  逻辑操作符
  &&                  ||
  逻辑与         逻辑且
  例:
  int main()
  {
  int a=3;
  int b=5;
  int c=a&&b;
  printf("c=%d\n",c);              //结果为1(真)
  return 0;
  }
  条件操作符
  exp1?exp2:exp3;
  指表达式1的结果如果为真,则执行表达式2,整体的结果也为表达式2的结果,
  如果为假,则执行表达式3,整体的结果也为表达32的结果
  例:
  int main()
  {
  int a=10;
  int b=20;
  int max=0;
  max=(a>b?a:b);
  return 0;
  }         
  逗号表达式
  exp1,exp2,exp3,,,,,,expN
  下标引用,函数调用和结构成员
  []            ()        .         ->
  int main()
  {
  int arr[10]={0};
  arr[4];                             //这里的[]就是下标引用操作符
  }
  int Add(int x,int y)
  {
  int z=0;
  z=x+y;
  return z;
  }
  int main();
  {
  int a=10,b=20;
  int sum=Add(a,b);        //这里的()就是函数调用操作符
  return 0;
  }

  
关注下面的标签,发现更多相似文章