codecamp

C++ 运算顺序

当表达式中出现了多个运算符的时候,计算顺序取决于优先级规则。一个完整的优先级说明是十分复杂的,出于让您尽快入门的目的,先列出以下几点:

  • 乘除法运算优先于加减法运算。因此2*3-1得到5,而不是4。2/3-1得到-1,而不是1(记住在整型除法中2/3结果是0)。
  • 如果运算符有相同的优先级,它们会按照从左往右的顺序计算。因此表达式minute100/60中,乘法运算最先进行,得到5900/60,接下来进行除法运算,得到98.如果运算按照从右到左的顺序,结果会变成591,也即59,结果是错误的。
  • 任何时候,如果你想要推翻优先级规则的限制(或者你不确定它们是什么)你可以使用圆括号。圆括号中的表达式会被优先计算,因此2(3-1)结果是4.你同样可以使用圆括号来使表达式更易读,正如(minute100)/60中所用的圆括号,尽管它并没有改变运算结果。


C++ 操作符
C++ 字符运算操作符
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }