HOUR 4 Expressions, Statements, and Operators
Whitespaces
C++对空格、制表符和换行符都一视同仁,使用这些whitespace仅仅为了易读,编译器根本不屌这些空白。也就是说,这两行对编译器来说都一样
- x=a+b;
- x = a + b ;
Compound Statements
- 但凡使用statement的地方,都可以使用compound statements
-
{ temp = a; a = b; b = temp; }
把一组语句用花括号保护起来,注意花括号后面没有分号
Expressions
考虑这个语句
z = x = y + 13;
正确的理解应该是
- 表达式 y + 13 的值存储在变量x里
- x = y + 13 返回x的值,存储在变量z里
- z = x = y + 13返回z的值,未存储
Assignment Operator
概念: grade = 95 , grade为左值(l-value),95为右值(r-value)
注意:左值不可以是constant,例如 95 = grade
如果你说可以,你跟我说说常量怎么被赋值,陈独秀同学
Mathematical Operators
这里需要注意除法,C++中 整数的除法结果就是整数:
21 / 4 的返回值是 5, 小数舍去
C++根据操作数判定结果数据类型,假如操作数中有一个浮点数,结果也是浮点数
Increment Operators
为什么B.S大神命名为C++而不是C+呢?B.S大神起名的灵感就是来源于C语言中的自增运算符!
Tricky Expression Values
C++ 中,0代表false,0以外任何值(包括negative value)代表true,可以利用这一点写代码
if (zombies) std::cout << "There are " << x << " zombies left\n";
//两者相同效果
if (zombies == 0)
............
但是一般来说,前者只用来判断逻辑真假,这样程序容易读

浙公网安备 33010602011771号