ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

第 4 章 · 运算符与表达式

第 4 章 · 运算符与表达式 数据存进变量后就要对它们做计算。运算符就是计算符号表达式就是由运算符连起来的算式。本章讲加、减、乘、除、比较、逻辑等所有常用运算符。4.1 算术运算符最基础的四则运算运算符含义例子结果加5 27-减5 - 23*乘5 * 210/除5 / 22注意%取余求模5 % 21特别注意整数除法inta5/2;// 结果是 2不是 2.5两个整数相除结果是整数小数部分被丢弃。想要 2.5必须至少一个是浮点数doubleb5.0/2;// 2.5doublec5/2.0;// 2.5取余运算%%求余数只对整数有效intr10%3;// 10 ÷ 3 3 余 1所以 r 1取余特别有用判断奇偶n % 2为 0 是偶数、循环里取周期等。4.2 赋值运算符是赋值把右边的值放进左边的变量。注意不是等于是赋值intx5;// 把 5 赋给 xxx1;// 把 x1即 6赋回给 x现在 x 6复合赋值运算符写x x 1太啰嗦可以简写运算符等价于x 1x x 1x - 1x x - 1x * 2x x * 2x / 2x x / 2x % 2x x % 2自增、自减intx5;x;// 等价于 x x 1现在 x 6x;// 也是加 1x 7x--;// 减 1x 6x和x单独用时效果一样区别只在用它的值时体现初学阶段先不纠结记住都是加 1即可。4.3 比较运算符关系运算符比较两个值结果是booltrue或false运算符含义例子结果等于5 5true!不等于5 ! 3true大于5 3true小于5 3false大于等于5 5true小于等于5 3false最容易犯的错比较相等和赋值长得像千万别写混if(x5)// 正确判断 x 是否等于 5if(x5)// 错误把 5 赋给 x几乎总是 true4.4 逻辑运算符用来组合多个条件运算符含义说明与and两边都为 true 才为 true||或or任意一边为 true 就为 true!非not取反boola(53)(24);// true true trueboolb(53)||(24);// true || false trueboolc!(53);// !true false逻辑运算的真值表ABA BA || B!Atruetruetruetruefalsetruefalsefalsetruefalsefalsetruefalsetruetruefalsefalsefalsefalsetrue4.5 运算符优先级当一个表达式里有多个运算符谁先算比如intx23*4;// 是 20 还是 14答案是14因为*比优先级高先乘除后加减。完整优先级从高到低常用的()括号最高!、、--*、/、%、-、、、、!||赋值最低记不住没关系用括号最保险intx(23)*4;// 20明确先算括号里的建议不确定优先级时加括号。清晰永远比聪明重要。4.6 表达式与语句表达式expression能算出一个值的式子如a b、x * 2、x 5。语句statement以分号结尾的完整指令如int x a b;。一个表达式加上分号往往就成了一条语句。4.7 完整示例#includeiostreamintmain(){inta10;intb3;std::couta b abstd::endl;// 13std::couta - b a-bstd::endl;// 7std::couta * b a*bstd::endl;// 30std::couta / b a/bstd::endl;// 3整数除法std::couta % b a%bstd::endl;// 1boolbigger(ab);std::couta b ? biggerstd::endl;// 1trueboolcond(a5)(b10);std::cout(a5) (b10) ? condstd::endl;// 1return0;}4.8 小结算术 - * / %整数除法会截断。赋值复合赋值 - * /。比较 ! 结果是 bool。逻辑 || !。优先级不确定就加括号。下一章用if和循环让程序根据不同情况做不同的事。练习题计算17 / 5、17 % 5、17.0 / 5各是多少写程序判断变量n 7是不是偶数用%。bool x (3 5) || (2 4);x 的值是什么不运行手算2 3 * 4 - 6 / 2的结果再写程序验证。
返回列表