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

十堰企业网站制作公司广州seo代理

十堰企业网站制作公司,广州seo代理,网站制作的一般步骤是什么,外国黄网站色网址前置或者后置 --运算符 --是单目运算符,因为它只需要1个参数参与运算 后置的 前置的 我们转到反汇编看看: 如果把前置和后置单独写出来,在汇编指令上是一模一样的。 x86的指令,从右往左看,从a这个内存取出&#…

前置或者后置++ --运算符

++ --是单目运算符,因为它只需要1个参数参与运算

后置的++
在这里插入图片描述
在这里插入图片描述
前置的++
在这里插入图片描述
我们转到反汇编看看:
在这里插入图片描述
在这里插入图片描述
如果把前置++和后置++单独写出来,在汇编指令上是一模一样的。
x86的指令,从右往左看,从a这个内存取出(双字)4字节,也就是取出a的值10,放在寄存器eax里面,然后add,让eax的值加个1,eax原来的值是a的值10,现在+1,变成11,然后move,把寄存器eax的11放回a的内存里面,就是把a改为11了。
现在我们依然看不出来前置++和后置++的区别。
如果把前置++和后置++单独写在一行,成为独立的表达式,是看不出来区别的。

但是,我们看下面代码,如果前置++和后置++是处在复杂较长的语句中:它们之间就有区别了!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
什么时候算使用完了?
就是语句结束了–》
1、遇到分号;
2、逗号表达式的逗号,
3、条件表达式是问号?
然后执行++,–

我们看下面例子:
在这里插入图片描述
遇见逗号表达式的逗号,算结束,我们先求表达式1:a++,遇见逗号,语句结束,算出来a是11,然后算表达式2,b=a++,a先给b赋值,b=11,a遇见逗号了,使用完了,a=11+1=12,然后执行表达式3:a+b=12+11=23
在这里插入图片描述
遇见逗号也要去计算后置++的++操作哦!!!

我们再来看看
条件表达式:3个表达式,2个运算符合在一块,单拿出来不能用必须包含冒号和问号
在这里插入图片描述
我们看下面例子:
在这里插入图片描述
?前面的表达式如果成立,为true,就返回?和:之间的表达式1的结果,如果?前面的表达式不成立,为false,就返回:后面的表达式2的结果

我们来计算下面这道题:
在这里插入图片描述
a和b的初始化值都是10,先计算关系表达式a>b还是先给a+1?因为这是后置++,所以先使用再++,在这里算的就是10>10,算完以后,遇到?,a+1=11,10不大于10,所以?前面的表达式是不成立的,是false,这个条件表达式返回的就是:后面的表达式2的结果了,执行a++这个表达式,a先使用,然后++,所以c=a=11,然后遇见;执行a++,a=12
在这里插入图片描述
在这里插入图片描述

C++的后置++

在这里插入图片描述
后置的++,- -进行赋值操作,或者放在=的左边当做左值来使用是不可以的!
在这里插入图片描述
我们把后置的++看作一个逗号表达式:
相当于是产生了一个临时量tmp=a,然后执行a=a+1,然后返回tmp
在这里插入图片描述
也就是说,这个a初始化是10,a++相当于是在寄存器记录了一下a原来的值10,然后a=a+1=11,然后返回临时量tmp=10,也就是寄存器中的一个常量数字,是不能给10赋给10 , 10是不能作为左值的
在这里插入图片描述

C++的前置++

我们把前置的++看作一个逗号表达式:
先执行a=a+1,然后把a返回回来
在这里插入图片描述
也就是说,前置的++或者–表达式本身就是有内存的变量本身。
所以肯定可以给a赋值,因为a有名字有内存,在栈上,可以作为左值!!!
在这里插入图片描述
a从10加到11,然后a又被10赋值,所以a最终=10
在这里插入图片描述

类似a+++++b到底该怎么分析(C++)

在这里插入图片描述
首先,我们的编译器里面,不管是C还是C++,根本没有5个加法运算符连在一起的运算符,所以,对于这样的表达式,编译器在试图理解它的时候,采用的是贪心算法来分解这个表达式,就是从左向右先拿出1个+号,认为是一个合法的运算符,因为有加号嘛,a+,然后再拿出一个+号,a++,也认为是一个合法的运算符,因为C/C++都有++构成的运算符,然后再拿出一个+号,a+++,这个就没有办法组成一个有效的运算符了,因为C/C++都没有+++这个运算符,这就不合法了,所以编译器就把它们分割成:

a++ +

所以,所谓的贪心算法就是从左向右来分解这个表达式,它的意思就是:从左向右,以一次能组成的最长的合法的运算符的方式进行表达式的分割。
所以,再拿出一个+号,就分割成:

a++ ++

然后再拿出一个+号,a++ +++,+++就不合法了,所以分割成:

a++ ++ +

所以对于编译器来说,它最终理解这个表达式是:

a++ ++ +b

所以实际上,它是在计算这个表达式:
在这里插入图片描述
在这里插入图片描述
()后面的这个++作用于的表达式是:a++,即后置的a++,但是后置的++是常量数字,是没有内存的,不能当做左值来使用的!!!相当于是执行10++这种操作,毫无意义!!!
在这里插入图片描述
给后置的++操作完然后再进行++
就是在给10++,毫无意义,所以这个表达式是错误的。
在这里插入图片描述
在这里插入图片描述

如果是下面这种写法就可以了:
在这里插入图片描述
因为这是我们主动加了空格,编译器就按照我们的方式进行了。
a++ + ++b
b和a的初始化都是10
前置的++先++再使用,++b,b=11
a++是后置的++,先使用再++,那就是10+11=21,然后执行a++,a=11
在这里插入图片描述
我们再来看下面这个例子:
在这里插入图片描述
这个表达式是错误的,
我们来分析一下:

在这里插入图片描述
为什么是错误的?
因为++或者- -是单目运算符,就是它要进行运算的参数只需要1个,而且它不像加减乘除, 它默认是由左向右运算的,所以,它是从右向左结合的,
在这里插入图片描述
相当于前面的那个++作用的表达式又是一个后置++,立即数字,没有内存,不能给10进行前置的++,所以这是一个错误的表达式!!!

下面这样写就是正确的:
在这里插入图片描述
现在括号后面的++作用的就是前置的++,返回的a是有内存有名字的。
在这里插入图片描述
在这里插入图片描述
先计算++a,a变为11,然后11+10=21,然后给a++,a=12
在这里插入图片描述
和- -是同理的。

C语言的++和- -

在C语言中,前置的++ - -和后置的++ - -都是不可以作为左值的。
在这里插入图片描述
在C编译器中,认为前置++也不是左值

C编译器执行的前置++和后置++的操作如下:
在这里插入图片描述
都是返回的是临时量(立即数字,是没有内存的,是常量数字,不能作为左值)。
在这里插入图片描述

http://www.lbrq.cn/news/2595421.html

相关文章:

  • 微信网站网址seo外包公司哪家好
  • 做美食网站有哪些seo扣费系统源码
  • 网站建设入什么科目凤凰军事新闻最新消息
  • 做微信公众平台的网站吗英文seo推广
  • 南京师范大学课程建设网站什么是网站外链
  • 怎么看一个网站有没有做301爱站工具包怎么使用
  • 桂林网站建设桂林seo是什么牌子
  • 商丘集团网站建设seo是什么专业的课程
  • 如何攻击php网站seo优化网
  • 58网站建设的目的seo怎么发文章 seo发布工具
  • 亿网正品windows优化大师是官方的吗
  • 关于做真实的自己视频网站销售
  • 医院网站建设作用大数据精准营销系统
  • 校友会网站建设搜图片百度识图
  • 佛山有什么网站韩国日本比分
  • 什么网站可以做海报开网店3个月来亏了10万
  • 美术培训学校网站模板微信引流获客软件
  • 大网站建设上海牛巨微seo优化
  • 做网站信科网站建设seo优化的优点
  • 计算机网站开发的目的苏州seo关键词优化方法
  • 做淘宝代码的网站网上如何推广自己的产品
  • 简述企业网络建设的步骤深圳seo推广
  • 重庆江北区网站建设公司seo的优化方向
  • 用scala做的网站百度指数关键词未收录怎么办
  • 新乡网站设计软文营销文章300字
  • 网站怎么投放广告网页开发工具
  • 永久免费手机网站建设的好处sem和seo是什么职业
  • 装饰网站建设公司网络宣传怎么做
  • 自建虚拟主机网站源码营销qq
  • 网站建设论文附录怎么写快速排名工具免费
  • 网络 —— 笔记本(主机)、主机虚拟机(Windows、Ubuntu)、手机(笔记本热点),三者进行相互ping通
  • AVDTP Media Packet 报文深度解析:蓝牙音频流的幕后功臣
  • CYUSB3014-BZXC-USB3.0接口芯片-富利威
  • C# 中抽象类、密封类、静态类和接口的区别
  • 第七章 愿景12 小萍分享《人性的弱点》
  • Linux用户与组管理全解析