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

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

  Yyds干货库存

  表达式评估

  表达式求值的顺序部分由运算符的优先级和全面性决定。某些表达式的操作数可能需要在求值期间转换为其他类型。

  I隐式类型转换

  1.塑料提升

  整形:表达式中的字符和短整型操作数在使用前被转换成普通的整形(短整型,char类型转换)。

  //无符号char,高位用0填充。

  示例:

  #包含stdio.h

  int main()

  {

  char a=3;

  //3:00000000000000000000000000011

  //由于char类型只有8位,所以从后往前取a: 0000011。

  char b=127

  //127:00000000000000000000001111111

  //同上,B: 0111111

  //正数与原码有相同的补码。

  char c=a b;

  ///3: 00000000000000000000000000011

  //127: 00000000000000000000001111111

  //3 127 : 00000000000000000000010000010

  //c:10000010

  //c整形后:111111111111111111111111111111111111111100010,这是补码。

  //c原代码:100000000000000000001111110 3354——-126

  printf(%d\n ,c);//打印时获取原代码。

  返回0;

  }

  注:补码存储在存储器中,补码由存储器中的数字计算得出。

  printf(%d\n ,c);//打印时获取原代码。

  例子

  int main()

  {

  char a=0xb6

  short b=0xb600

  int c=0xb60000000

  If(a=0xb6)//因为表达式中的A是char类型,没有达到整形大小,所以会整形提升。

  {

  printf( a );//当A被引发时,它不再是原始值,因此不会被打印。

  }

  if(b=0xb600)

  {

  printf(0xb 600 );//同上

  }

  if(c=0xb60000000)

  {

  printf(0xb 60000000 );//因为C是塑料,所以没有提高。

  }

  //只打印c。

  返回0;

  }

  //c

  int main()

  {

  char a=1;

  printf(%u\n ,suzef(a));//1只计算a的大小。

  printf(%u\n ,suzef(a));//4 a是参与运营的意思,所以需要重塑和升级。

  printf(%u\n ,suzef(-a));//4同上。

  返回0;

  }

  注:只要C参与表达式操作,就会发生塑形提升。

  2.算术转换

  如果一个运算符的操作数属于不同的类型,则除非其中一个操作数被转换为另一个操作数的类型,否则无法执行该运算。下面的层次系统称为普通算术变换。

  长双份

  两倍

  漂浮物

  无符号长整型

  长整型

  无符号整数

  (同Internationalorganizations)国际组织

  如果一个操作数的类型在上表中排名靠后,则应该在执行运算之前将其转换为另一个操作数的类型。(转换为更长/更精确)

  二。操作员属性

  复杂运算符的评估有三个影响因素:

  1.操作员的优先级(执行顺序)

  2.运算符的组合(操作方向)

  3.是否控制评估顺序(有, ,?,,四个)

  两个相邻运算符中的哪一个将首先被执行?

  取决于它们的优先级,如果它们具有相同的优先级,取决于它们的组合。

  和优先级组合表:

  (优先级从上到下逐渐降低)

  (L-R表示从左向右绑定,R-L表示从右向左绑定,N/A表示不绑定)

  我们掌握了运算符的属性后,就可以处理大部分情况了,但是还是有一些表达式不能确定唯一的计算顺序。

  例如,当c=3时,C-C//3 ^ 2=5//2 ^ 2=4

  运算符的优先级只能确定减-的运算在-的运算之前,但不能确定运算符左操作数的获取是在右操作数之前还是之后计算。

  (如果我们不能通过运算符确定one的计算路径,这个表达式就有问题)

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

郑重声明:本文由网友发布,不代表盛行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算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: