C++ 操作符,c语言字符操作

  C++ 操作符,c语言字符操作

  Yyds干货库存

  算术运算符-*/%

  加法、乘法、除法(商)、除法(余数)

  1:使用/(商运算符)时,一般是这样的。

  #包含stdio.h

  int main()

  {

  int a=3/5;

  printf(%d\n ,a);

  返回0;

  }

  //结果:0

  如果要找到小数点后的数字,必须满足数据、数字和打印类型的准确性。比如:

  #包含stdio.h

  int main()

  {

  双a=6.0/5.0;//这两个数字中至少有一个必须是浮点数

  //当两个数都是整数时,无论数据类型是int还是double,整数都是1。

  printf(%lf\n ,a);//请注意,这不是%d

  返回0;

  }

  结果:1.200000

  2.%模运算符取余数。它的两个操作数只能是整数。

  #包含stdio.h

  int main()

  {

  int a=6% 4;

  printf(%d\n ,a);

  返回0;

  }

  移位运算符

  左移运算符右移运算符

  A 0010 b 1000(显示在后面)

  图中的意思是将A的二进制位左移两位。

  a=1010 b=0010

  总结:左移运算符:左边舍弃几个位,右边加几个零。

  向右移动运算符:

  算术右移:把丢弃的右边放到左边。

  逻辑右移:舍弃右边的几个位,在左边加几个零。

  (对有符号数字使用算术右移,对无符号数字使用逻辑右移)

  展开:

  (计算机存储以二进制补码的形式存储)

  正整数的原码,补码,补码都是一样的。

  负整数的补码是反转其原始代码的无符号位并加1。

  其实整数的二进制表示有三种:原码、补码、补码。

  原码:直接按照数值书写的二进制序列。

  逆码(针对负数):原码的符号位(二进制的第一位)不变,其他位按位反转。当符号位为1时,表示负号,0表示正号。

  补数(用于负数):补数加1。

  如果负数-1存储在存储器中,则存储二进制反码。

  -1:原始代码:10000000000000000000000000001

  逆码:111111111111111111111111111111111111111

  补码:1111111111111111111111111111注:对于移位运算符,不要移动负数位数,标准没有定义。例如:

  int num=10

  num-1;//是错误的。

  位运算符

  逐位和逐位或逐位异或(它们的操作数必须是整数)

  #包含stdio.h

  int main()

  {

  int a=3;

  int b=5;

  //按(二进制)位和

  int c=a

  //按位AND是对应的二进制位。只要对应的位有0,新数的二进制就是0,同时也是1。

  //3:00000000000000000000000000000011

  //5:00000000000000000000000000000101

  //c=1:0000000000000000000000000000001

  //按(二进制)位或

  int d=a b;

  //按位“或”是指只要对应的位有1,就是1,两个都是0时才是0。

  //3:00000000000000000000000000000011

  //5:00000000000000000000000000000101

  //d=7:000000000000000000000000000000000111

  //按(二进制)位异或

  int d=a ^ b;

  //相同时对应的位为0,不同时为1。

  //3:00000000000000000000000000000011

  //5:00000000000000000000000000000101

  //e=6:00000000000000000000000000000000110

  }

  赋值运算符

  让你得到一个你之前不满意的值。也就是可以重新分配自己。

  =int weight=120//重量

  体重=89;//不满意就赋值。

  双薪=10000.0;//工资

  工资=20000.0;//使用赋值运算符来赋值

  赋值运算符可以连续使用,例如:

  int a=10

  int x=0;

  int y=20

  a=x=y ^ 1;//进行连续赋值

  这个代码是什么感觉?

  相同的语义,你看:

  x=y ^ 1;

  a=x;//这样写更清晰,更容易调试。

  2.复合评估者

  =-=*=/=%=====^=

  int a=10

  a=100

  A=100//等于a=a 100

  A=a 3//等于a=3

  注意:=是赋值,==是相等判断。

  单目操作者

  **

  !逻辑运算可以理解为否定和否的意思。

  -负值

  积极价值

  获取地址

  sizeof操作数的类型长度(字节)

  ~一个数的二进制逐位取反(包括符号位)

  -前面,后面-

  在前后

  *间接访问运算符(解引用运算符)

  (类型)强制类型转换

  ***

  //!

  #包含stdio.h

  int main()

  {

  int flag=5;//标志为真,非零为真。

  printf(%d\n ,旗帜);//!把真的改成假的,所以是0。

  返回0;

  }

  //结果:0

  ***

  //sizeof

  #包含stdio.h

  int main()

  {

  int a=10

  int arr[10]={ 0 };

  printf(%d\n ,sizeof(arr));//计算数组的大小,结果:40

  printf(%d\n ,sizeof(int[10]));//40,除了数组名,其余都是类型。

  printf(“% d \ n”)。sizeof(a));//以字节为单位计算空间的大小。

  printf(“% d \ n”)。sizeof(int));//也可以直接计算类型

  printf(“% d \ n”)。a)的大小;//计算字符大小时可以省略括号,但不能保存类型。

  //所以sizeof是一个运算符,不是函数,函数的括号必须带

  }

  #包含stdio.h

  int main()

  {

  短a=10

  int s=5;

  printf(%d\n ,sizeof(s));//4

  printf(%d\n ,sizeof(a));//2

  printf(%d\n ,sizeof(a=S2));//结果还是2,因为sizeof中的表达式不参与运算。

  返回0;

  }

  #包含stdio.h

  void test1(int arr[])

  {

  printf(%d\n ,sizeof(arr));//(2)//这里是指针,因为传入的地址是取指针,32接收,机器下字节是4。

  }

  void test2(char ch[])

  {

  printf(%d\n ,sizeof(ch));//(4)//同样,虽然是char,但它是一个指针变量,32上有4,64上有8。

  }

  int main()

  {

  int arr[10]={ 0 };

  char ch[10]={ 0 };

  printf(%d\n ,sizeof(arr));//(1) 40

  printf(%d\n ,sizeof(ch));//(3) 10

  test1(arr);

  test 2(ch);

  返回0;

  }

  ***

  ~对于正数,所有的原码都是一位一位反转的(包括符号位)。对于负数,它的补码都是逐位反转的(包括符号位)。

  //~

  int main()

  {

  int a=-1;

  //原代码:100000000000000000000000001

  //反码:111111111111111111111111111111111111111111111111111

  //Complement:1111111111111111111111111111

  //~按(二进制补码)位求反(包括符号位)

  //原补:11111111111111111111111111111111

  //补码后:00000000000000000000000000000000

  int b=~ a;

  printf(%d\n ,b);//结果:0

  返回0;

  }

  ***

  //and-运算符:前缀和-后缀和-

  #包含stdio.h

  int main()

  {

  int a=10

  int x=a;//先添加一个,然后使用一个。

  int y=-a;//先减少一个,再用一个。

  int x=a;//首先使用一个,然后添加一个。

  int y=a-;//先用A,再减A。

  返回0;

  }

  #包含stdio.h

  int main()

  {

  int a=1;

  int b=(a)(a)(a);//Result:由于编译器系统12/10的pit不同,可以有两种结果

  printf(%d\n ,b);

  返回0;

  }

  ***

  *间接访问操作符(解引用操作符)取地址(注意按位AND在a b中,取地址在A中)#include stdio.h

  int main()

  {

  int a=10

  Printf(%p\n ,//获取的地址并打印该地址

  Int* pa=//Here *表示pa是指针变量,pa用于存储地址。

  * pa=20//*间接访问运算符(解引用运算符),将a的值更改为20

  printf(%d\n ,a);

  返回0;

  }***

  (类型)强制类型转换

  int main()

  {

  int a=(int)3.14;

  返回0;

  }

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: