首页 > 其他分享 >c语言表达式求值和操作符属性

c语言表达式求值和操作符属性

时间:2022-12-11 14:32:10浏览次数:40  
标签:操作数 运算 操作符 整型 求值 表达式

一、表达式求值

表达式求值顺序一部分是由操作符的优先级和结合性决定。同样,有些表达式的操作数在求值的过程中可能需要转化为其他类型

1.隐式类型转换

表达式中的字符和短整型操作数在使用之前被转换为普通整型——整型提升。

char a=3;
//使用前转换为普通整型,从8位变成32位00000000000000000000000000000011;正数补码原码相同
//截断最后八位放到a里00000011
char b=127;
//00000000000000000000000001111111
//01111111
char c=a+b;//-126
//符号位为0,整型提升前面补0
//00000000000000000000000000000011
//00000000000000000000000001111111
//00000000000000000000000010000010
//10000010 c
//整型提升11111111111111111111111110000010 补码
11111111111111111111111110000001 反码
00000000000000000000000001111110 原码 -126

a,b的值被提升为普通整型,再执行加法运算,完成后被截断,存储在c中。

c语言表达式求值和操作符属性_操作符

字符只要参与运算,就会发生整型提升。

2.算术转换

1)非赋值运算:不同类型操作数在一起运算,一个操作数要转换为另一个操作数的类型

c语言表达式求值和操作符属性_整型_02


排名低的向高的转换

2)赋值运算 变量=表达式   表达式类型自动转换成变量类型(注意表达式值是否超过变量所属类型的取值范围)

将取值范围小的转换为大的是安全的,反之不安全,可能会字节丢失。

补充:如何实现小数的四舍五入?   (int)(a+0.5)

二、操作符的属性

1.操作符的优先级

2.操作符的结合性

3.是否控制求值顺序

标签:操作数,运算,操作符,整型,求值,表达式
From: https://blog.51cto.com/u_15901728/5928317

相关文章

  • Cron表达式
    Cron表达式通过特定的规则指定时间,用于定时任务,本文简单记录它的部分语法和实例,并不完全,能覆盖日常大部分需求。 1.Cron表达式介绍Cron表达式是一个字符串,分为6或7个域......
  • spring中cache注解中加上表达式会变慢!
    在老外的两篇博文中,​​https://plumbr.io/blog/performance-blog/more-about-spring-cache-performance​​​,​​https://plumbr.io/blog/performance-blog/spring-cache......
  • 正则表达式
    前段时间人力姐姐遇到了难题,老板要求统计本月加班情况,要从飞书到处的文档中统计出每个人加班的天数和加班日期(每晚9:00之后算是加班,公司补贴30元),人工统计工作量很大,因此问我......
  • Day37:正则表达式详解
    正则表达式1.1概述正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。比如我们在网站上输入用户账号,要求我们输入的账号信息要符合账号的格式,而校......
  • 前端开发系列034-基础篇之RegExp正则表达式
    title:'前端开发系列034-基础篇之RegExp正则表达式'tags:-javaScript系列categories:[]date:2017-09-1720:20:13本文介绍RegExp相关的知识点,包括正则表达式的......
  • C语言操作符
    C语言的操作符分为:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号操作符、下标引用,函数调用和结构成员。 ​一、......
  • Python正则表达式
    Python正则表达式情况:在一个EXCEL文件中,记录了众多公司的账目,单位有万元和亿元,彼此混杂。现想把单位统一为万元,且不显示出来法一:利用EXCEL的公式=IF(VALUE(MID(B2,1,......
  • 中缀表达式转换为后缀表达式
    规则中缀表达式a+b*c+(d*e+f)*g,其转换成后缀表达式则为abc*+de*f+g*+。转换过程需要用到栈,具体过程如下:1)如果遇到操作数,我们就直接将其输出。2)......
  • 16. 正则表达式.md
    正则表达式定义:正则表达式用于定义一些字符串的规则作用:计算机可以根据正则表达式,来检查一个字符串是否符合指定的规则:或者将字符串中符合规则的内容提取出来创建正则表......
  • C++ Primer学习笔记 - 第17章 标准库特殊设施(正则表达式)
    目录17.3正则表达式17.3.1使用正则表达式17.3.2匹配与Regex迭代器类型17.3.3使用子表达式17.3.4使用regex_replace17.3正则表达式正则表达式(regularexpression)是......