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

昆明网站建设去出发科技公司吉林刷关键词排名优化软件

昆明网站建设去出发科技公司,吉林刷关键词排名优化软件,做网站要是要求吗,怎么样编辑wordpress文章目录 前言1.运算优先级表2.举例说明:总结 前言 最近复习C基础知识的时候,发现对这部分还是有些模糊。常用的 - ,括号等运算符对于它们的优先级还是比较明确的。但是涉及到移位运算,逻辑运算这种,再结合四则运算…

文章目录

  • 前言
  • 1.运算优先级表
  • 2.举例说明:
  • 总结

前言

最近复习C++基础知识的时候,发现对这部分还是有些模糊。常用的+ - × ÷
,括号等运算符对于它们的优先级还是比较明确的。但是涉及到移位运算,逻辑运算这种,再结合四则运算,就有点分不清了。
为此这篇博客就记录一下,后面再稍微结合点例子举例说明一下。


1.运算优先级表

优先级运算符功能目数结合性
1( )改变运算优先级或函数调用双目从左向右
[ ]访问数组元素
.直接访问数据成员
->间接访问数据成员
2!逻辑非单目从右到左
~按位取反
+,-取正,取负
*间接访问对象
&取对象地址
++,- -增1,减1
( )强制类型转换
sizeof测类型长度
3*,/,%乘除取余双目从左到右
4+,-加减
5<<,>>,>>>按位左移,按位右移,无符号右移
6<,<=,>,>=小于,小于等于,大于,大于等于
7==,!=等于,不等于
8&按位与
9^按位异或
10|按位或
11&&逻辑与
12||逻辑或
13?:条件运算符三目从右向左
14=赋值双目从右向左
+=,-=加赋值,减赋值
*=,/=乘赋值,除赋值
%=,&=取余赋值,按位与赋值
^=按位异或赋值
|=按位或赋值
<<=按位左移赋值
>>=按位右移赋值
15,逗号运算符双目从左向右

2.举例说明:

Example1

求值:5+10*20/2

这个就是简单的四则运算,先乘除再加减。
对应一下上面的表就是,乘除的优先级3比加减的优先级4要高,所以先乘除,同时满足从左到右,因此先是乘,10乘以20,再是除,200除以2,最后在加5,得到的答案为105

Example2

求值:12 / 3 * 4 + 5 * 15 + 24 % 4 / 2

这个和上面类似,只不过多了一个取余%,结合上表,优先级3,4两行。
所要求的式子等价于((12 / 3) * 4) + (5 * 15) + ((24 % 4) / 2)=9

Example3

假设i、j和k是三个整数,说明表达式i!=j<k的含义。

这题就是比较!=<之间优先级的比较。
查一下表可以看到!=优先级为7,<为6,所以应该先算小于,再判断不等号。
因此上式的求值过程等同于i !=(j<k),先比较j和k的大小,得到的结果是一个布尔值(1或0);然后判断i的值与之是否相等。

Example4

因为运算符的优先级问题,下面这条表达式无法通过编译。根据上表指出它的问题在哪里?应该如何修改?
string s = “word” ;
string pl = s + s[s.size ( ) - 1] == ‘s’? “” : “s” ;

看这个第二句赋值语句,我们是想判断字符串s的最后一个字符是否是s,如果是的话就不变,否则就让s字符串的最后一个字符为s。
但是这里因为运算符优先级问题,无法实现我们想要的效果。

题目中的几个运算符的优先级次序从高到低是加法运算符、相等运算符、条件运算符和赋值运算符,因此式子的求值过程是先把s和 s [s.size ( ) - 1]相加得到一个新字符串,然后该字符串与字符’s’比较是否相等,这是一个非法操作,并且与程序的原意不符。
要想实现程序的原意,即先判断字符串s 的最后一个字符是否是’s’,如果是,什么也不做;如果不是,在 s 的末尾添加一个字符’s’,我们应该添加括号强制限定运算符的执行顺序。
string pl = s + (s [s.size() - 1] == 's'? "" : "s") ;

Example5

如果一台机器上int占32位.char占8位,用的是 Latin-1字符集,其中字符’q’的二进制形式是01110001,那么表达式~ ‘q’<<6的值是什么?

在位运算符中,运算符~(优先级2)的优先级高于<<(优先级5),因此先对q按位求反,因为位运算符的运算对象应该是整数类型,所以字符’q’首先转换为整数类型。如题所示,char占8位而int占32位,所以字符’q’转换后得到
00000000 0000000 00000000 01110001,按位求反得到11111111 11111111 11111111 10001110;接着执行移位操作,得到11111111 11111111 11100011 10000000。
C++规定整数按照其补码形式存储,对上式求补,得到10000000 000000000011100 10000000,即最终结果的二进制形式,转换成十进制形式是-7296

Example6

说明下面这条表达式的含义。
somevalue ?++x,++y : - -x,- -y

这个咋一看,somevalue为真,那就++x,++y,否则就- -x,- -y。
我们自己看一下上面的表,这里的条件运算符和逗号之间的优先级还是存在一些差异的。

C++规定条件运算符的优先级高于逗号运算符,所以somevalue ? ++x,++y :- -x,- -y
实际上等价于(somevalue ? ++x,++y : - -x),- -y。
它的求值过程是,首先判断somevalue是否为真,如果为真,依次执行++x和++y,最后执行- -y;如果为假,执行- -x和- -y。


总结

这篇博客总结了一下运算优先级表,并举了一些简单和稍微复杂的例子作为辅助。后期在编程中遇到优先级问题,其实最好的方式我觉得是加括号。但是有时做题目,或者看别人的代码,理解时还需要脑子里有这个对照表。

http://www.mmbaike.com/news/85464.html

相关文章:

  • 天下第一社区在线观看 welcome项链seo关键词
  • 好商网的网站可以做中英文切换吗广州推广工具
  • 外卖网站建设文档创建网页
  • memcached wordpress网站seo链接购买
  • 全景网站怎么做收录
  • 大良购物网站建设网站建设服务商
  • 标书制作教程视频网站bt磁力王
  • 怎么在华为防火墙做网站映射十大跨境电商erp排名
  • 做网站经济虚拟币诈骗定罪湖北seo网站推广
  • 以鹦鹉做头像的网站热点营销案例
  • 建设网站审核整合营销策划方案
  • 王占山七一勋章颁奖词长沙seo优化价格
  • 如何评价伊利集团网站建设好搜seo软件
  • 无锡电子商务网站建设许昌seo公司
  • 关键词优化软件排行seo公司广州
  • 自己做网站 需要哪些百度快速排名优化技术
  • 泰安放心的企业建站公司搜索引擎技术
  • 网站网站建设网站有什么好用的搜索引擎
  • wordpress菜谱网站网站建设方案推广
  • 网站如何从后台进入营销策略有哪些4种
  • 京东网站设计代码百度快照客服人工电话
  • 青海省交通建设厅网站缅甸今日新闻
  • wordpress 获取文章文字网络搜索引擎优化
  • wordpress页面自定义数据上传图片seo编辑是干什么的
  • 电子商务网站建设的目标是什么济南网站建设老威
  • 移动建站工具营销策略都有哪些
  • 网站建设公司怎么办seo外包多少钱
  • 风雨同舟 网站建设怎么在腾讯地图上添加自己的店铺
  • 网站界面 ui 设计答案第一接单网app地推和拉新
  • 阿里能帮做网站吗优化一个网站需要多少钱