函数返回值

  • 返回值类型必须和函数的返回类型相同

  • 对于main函数,返回值必须是int型。大多数系统中,main函数的返回值是一个状态指示器。返回值为0表示main函数成功执行完毕;返回非零表示有错误出现。

GNU编译器命令

  • vi:新建文件,i:编辑;Esc退出编辑;wq/ZZ:保存并退出

  • g++ XX.cc -o XX:编译XX.cc并生成可执行文件XX。

    ./XX:运行可执行文件XX

  • echo $?:执行程序后,访问main函数返回值,以此获取状态。

输入输出iostream

iostream库,输入流(istream)和输出流(ostream)

  • 标准输入:cin

  • 标准输出:cout

  • cerr:标准错误,用来输出程序警告和错误信息。

  • clog:用于产生程序执行的一般信息。


1.预处理指示:#include

2. 写入到流

  • 输出操作符:<<,每个输出操作符实例都接受两个操作数,左操作数必须是ostream对象,右操作数是需要输出的值。

  • 操纵符(manipulator)endl:将它写入输出流,具有换行输出的效果,并刷新与设备相关联的缓冲区(buffer),使用户可以立即看到写入到流中的输出。

3.使用标准库中的名字,如std::cout,std::endle

  • 表示cout和endl是定义在命名空间(namespace)std中的

  • 作用域操作符(scope operator,::操作符)

4.读入流,如std::cin >> v1 >> v2;

  • 输入操作符:>>

5.注释

  • 注释界定符(/**/)不能嵌套

  • 注释代码片段时最好用单行注释的方式(//)

读入未知数目的输入

  • 对用户指定的一组数求和,一直读取直到输入结束。

int val;//read until end-of-file*/while(std::cin >> val){    ......}
  • 使用istream对象作为条件,结果是测试流的状态。如果流是有效的,那么测试成功;如果遇到文件结束符(end-of-file)或者输入是无效的(如果读取的不是一个整数值,则istream对象是无效的),将导致测试失败。

  • 从键盘输入文件结束符:unix中文件结束符Ctrl+D,相当于windows中vc++ 的.c文件里的(Ctrl+Z+Enter)*2。注:代码中不需要EOF。

  • 在for循环中定义的变量,只能在for循环中存在,循环结束后是不能使用的。

  • “编辑-编译-调试”,修改了一个错误或一小部分错误之后,就立即重新编译代码。

  • 标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号”“括起来。

  • 成员函数(member function),也称为类方法。调用成员函数,使用点操作符(.)。

  • 调用操作符:()。

使用文件重定向

$ addaItems <infile> outfile
  • 加法程序已经编译为addItems的可执行文件,上述命令会从一个名为infile的文件读取记录,并将结果输出到一个名为outfile的文件上。

术语

  • argument(实参):传递给被调用函数的值

  • block(块):花括号括起来的语句序列

  • main function(主函数):执行C++程序时,操作系统调用的函数。每个程序有且仅有一个主函数main

  • manipulator(操纵符):在读或写时“操纵”流本身的对象,如std::ebndl。

  • member function(成员函数)、method(方法):同义词,指类定义的操作

  • 命名空间(namespace):将库所定义的名字放至单独一个地方的机制。命名空间有助于避免无意的命名冲突。C++标准库所定义的名字在命名空间std中。

  • string literal(字符串面值):以双引号括起来的字符序列

  • 未初始化变量(uninitialized variable):类类型如果未指定初值,则按类定义的方式进行初始化。定义在函数内部的内置类型变量默认说不初始化的,除非有显示的初始化语句。

参考:C++Primer第五版

相关文章:

第二章C++:变量和基本类型

第三章C++:字符串string、向量vector和数组

更多相关文章

  1. (C++)错误的map删除操作和STL中容器的迭代器的底层实现机制
  2. 第六章C++:函数基础与应用
  3. C++异常处理:系统函数terminate的调用
  4. C++学习基础知识--this指针、静态成员、常量成员函数
  5. 基于C的文件操作 (FILE*、fstream、windowsAPI )
  6. 深度解析C++的函数模板与类模板
  7. C++类的静态数据成员和静态成员函数
  8. .NET Core中如何使用Entity Framework操作PostgreSQL?
  9. 字符如何操作普通帮助类?字符操作普通帮助类的方法(代码示例)

随机推荐

  1. Android 自定义ViewGroup 实战篇 -> 实现
  2. It’s Android Time
  3. [置顶] android Studio 配置LUA 开发环境
  4. Android界面开发简介
  5. 在 Android(安卓)字符串资源中直接使用 E
  6. Android中Shape和Selector的结合使用。
  7. Android(安卓)build.gradle配置buildConf
  8. 开发具备语音识别功能的 Android* 应用
  9. Android介绍
  10. Android XML解析学习——Sax方式(续)