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;

正确的理解应该是

  1. 表达式 y + 13 的值存储在变量x里
  2. x = y + 13 返回x的值,存储在变量z里
  3. 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)
  ............

但是一般来说,前者只用来判断逻辑真假,这样程序容易读

posted @ 2018-03-13 21:14  一只大公鸡  阅读(109)  评论(0)    收藏  举报