当前位置: 首页 > news >正文

免费使用个人网站怎么把平台推广出去

免费使用个人网站,怎么把平台推广出去,免费推广平台哪个好,青海省公路工程建设总公司网站目录 前言一、隐式类型转换1.1 整型提升 二、算术转换三、操作符的属性四、问题表达式总结 前言 表达式求值的顺序一部分由操作符的优先级和结合性决定。 有些表达式的操作数在求值的过程中可能需要转换为其他类型 一、隐式类型转换 隐式类型转换是在编译器自动进行的类型转换…

目录

  • 前言
  • 一、隐式类型转换
    • 1.1 整型提升
  • 二、算术转换
  • 三、操作符的属性
  • 四、问题表达式
  • 总结


前言

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


一、隐式类型转换

隐式类型转换是在编译器自动进行的类型转换,无需显式地指定转换操作。
常见的隐式类型转换情况:

  • 将小范围类型赋值给大范围类型,例如将int赋值给long
  • 将浮点类型赋值给整数类型,例如将float赋值给int
  • 整数和浮点数之间的运算,例如int与float进行加减乘除运算

1.1 整型提升

c语言的整型算术运算总是以缺省整型类型的进度来进行的。
为了保证计算的精度,表达式的字符和短整型操作数在使用之前被转换成普通整型,这个过程称为整型提升。
整型提升的原因:

表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。
当两个char类型的值相加,在CPU执行时实际要先转换为CPU内整型操作数的标准长度。
通用CPU是难以直接实现两个8比特位直接相加运算。所以,表达式各种长度可能小于int长度的整型值,都必须转换为int或unsigned int ,然后才 能送入CPU去执行。

分析下面的运算结果:

char a = 5;
char b = 126;
char c = a + b;
printf("%d",c);

当进行 a+b时,a和b需要进行整型提升
当输出c时,需要进行整型提升,并且由于整型提升后,最高位为1,符号位1则需要补码转换原码才能输出。
在这里插入图片描述

图1.1 整型提升过程图

二、算术转换

如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作无法进行。下面的层次体系称为寻常算术转换。

long double
double
float
unsigned long int
long int
unsigned int
int

如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另一个操作数的类型后执行运算。
具体例子如下,如图1.2所示
在这里插入图片描述

图1.2 算术转换代码

代码分析:
全局变量i的初始值为0,进行i–后,i的值变为-1,i的类型为int
sizeof(i)的结果为4,类型为size_tsize_t的类型为unsigned int
if条件判断-1是否小于4;
结果分析:
结果输出了>,说明在进行条件判断时,判断结果为真。(-1 > 4)这个表达式为何为真?
原因: 在进行关系运算之前,由于i的类型为int, sizeof(i)的返回值类型为unsigned int,两个操作数的类型不一致,需要进行算术转换,由上面的层次体系可知,int需要转换为unsigned int ,则i的值会变成一个非常大的无符号整数。
算术转换的过程如图1.3所示:
在这里插入图片描述

图1.2 算术转换过程

三、操作符的属性

复杂表达式的求值有三个影响的因素:

  1. 操作符的优先级
  2. 操作符的结合性
  3. 是否控制求值顺序

两个相邻的操作符先执行哪个,取决于他们的优先级。
如果两者的优先级相同,则取决于他们的结合性。

四、问题表达式

如果不能根据操作符的属性确定唯一的计算路径,那这个表达式就是存在问题的。
下面是问题表达式的例子:

  1. 表达式一
c + --c
  1. 表达式二
int main()
{
int i = 0;
i = i-- - --i * (i= -3) * i++ + ++i;
printf("%d",i);
return 0;
}
  1. 表达式 三
int main()
{
int a = 1;
int b = (++a)+(++a)+(++a);
printf("%d",b);
return 0;
}
  1. 表达式四
int fun()
{
static int count = 1;
return count++;
}
int main()
{
int answer;
answer = fun() - fun()*fun();
printf("%d",answer);
return 0;
}

总结

本篇文章介绍了c语言中的表达式求值。包括隐式类型转换,算术转换和操作符的属性。

http://www.wooajung.com/news/30522.html

相关文章:

  • 做学校网站的目的是什么seo搜索引擎优化人员
  • 相亲网站认识的可以做朋友google推广及广告优缺点
  • web开发培训班课程网站seo外包价格
  • 代码编写网站佛山网站排名提升
  • 公司软件定制开发seo入门书籍推荐
  • 云网站建设郑州seo优化外包顾问阿亮
  • 东营网站建设哪家好摘抄一小段新闻
  • 做网站建设的公司win10系统优化软件
  • 做软件项目需不需要有网站广告公司业务推广
  • 政府网站建设情况seo排名赚app最新版本
  • 做旅游网站平台合作入驻长沙百度搜索排名
  • 自助网站模板平台域名是什么意思
  • wordpress网站设密码长沙市seo百度关键词
  • 吉林省电力建设总公司网站长沙关键词优化平台
  • 今天兰州最新消息google移动服务应用优化
  • 网站出现乱码网站查询域名入口
  • 开发软件网站多少钱西安网站建设推广专家
  • 商务网站开发与建设论文抖音广告投放平台官网
  • 高级感ppt模板seo管理
  • 小企业网站建设的小知识网络营销推广方案3篇
  • 嘉兴网站建设解决方案seo搜索引擎实战详解
  • 用css做网站的代码如何建立自己的网站平台
  • 如何做一元购网站外贸网站建设报价
  • 微软公司做网站的软件百度关键词网站排名优化软件
  • 做全景图二维码的网站抖音seo搜索引擎优化
  • 微信公众号和网站建设方案对网站进行seo优化
  • 淄博公益网站建设宣传推广网络推广
  • 工业和信息化部产业发展促进中心页面优化的方法
  • 工商注册费用大概多少优化推广方案
  • 天津市工程建设交易管理中心网站互联网创业项目