第一章 开始

  1. int main()
  2. {
  3. return 0;
  4. }

1.1 函数定义包含四部分:

  • 返回类型(return type)
    • 当return语句包含返回值时,这个返回值必须和函数定义时的返回值类型相同
  • 函数名(function name)
  • 括号里的形参列表(parameter list,允许为空)
  • 函数体(function body)

    1.2 输入输出

  • cin:标准输入

  • cout:标准输出
  • cerr:输出警告和错误信息
  • clog:输出程序运行时的一般信息 ```cpp

    include

int main() { std::cout << “Enter two numbers:” << std::endl; int v1 = 0, v2 = 0; std::cin >> v1 >> v2; std::cout << “The sum of “ << v1 << “ and “ << v2 << “ is “ << v1 + v2 << std::endl;

  1. return 0;

}

  1. <a name="lt5i7"></a>
  2. ### 1.2.1 向流中写数据
  3. `<<运算符`:
  4. - 这个运算符接受两个运算对象:
  5. - 左侧:必须是一个ostream对象
  6. - 右侧:是要打印的值
  7. - 运算结果:将给定的值写入到指定的ostream对象里,即结果就是左边的ostream对象
  8. ```cpp
  9. std::cout << "Enter two numbers:" << std::endl;
  10. //等价于
  11. (std::cout << "Enter two numbers:") << std::endl;
  12. //等价于
  13. std::cout << "Enter two numbers:"//写入内存
  14. std::cout << std::endl;//把ostream中的数据刷入流中

endl操作符

  • 效果:
    • 结束当前运行
    • 将与设备关联的缓冲区buffer中的内容刷到设备中
    • 换行
  • 优点:

    • 可以保证目前为止,程序产生的所有输出都真正写入到流中,而不是停留在内存,等待写入流

      1.2.2 使用标准库中的名字

      std:::
  • 含义:指出名字cout和endl是定义在名为std的命名空间(namespace)中的

  • 作用:
    • 避免不经意的名字冲突
    • 使用库中相同的名字导致的冲突
  • 标准库中所有名字都在命名空间std中
  • 副作用:使用标准库中的名字时,必须显式说明(说白了,麻烦)
    • 举例:std::out
      • 必须通过作用域元算符(就是::)来指出我们想使用定义在std中的名字cout