1.1
操作系统通过调用main函数来执行程序,main函数则执行组成自己的语句并返回一个值给操作系统
main函数是唯一被操作系统显式调用的函数
main函数的返回类型必须为int型;return的返回值类型必须和函数的返回值类型相同,或者可以转化成函数的返回类型,对于main函数,返回类型必须是int型,返回值0往往表示main函数成功执行完毕,任何其他非零的返回值都有操作系统定义的含义。
编译命令: UNIX下 g++ prog1.cc -o prog1
Windows下 c1 -GX prog1.cpp
访问main函数的返回值与系统有关,不论UNIX还是Windows系统,执行程序后,必须发出一个适当的echo命令,UNIX系统中,通过键入如下命令获取状态:
$ echo $?
如下所示,当返回值为-1时,通常作为程序运行失败的指示器,此时状态值为255(-1的补码),执行a.out,系统并没有显示出提示信息表示程序运行错误。
1.2 输入输出
格式化输入输出库 iostream:iostream库的基础时两种命名为istream和ostream的类型,分别表示输入流和输出流。
流是指要从某种IO设备上读入或写出的字符序列
标准库定义了四个IO对象:
- cin istream类型 标准输入
- cout ostream类型 标准输出
- cerr ostream类型 标准错误 用来输出警告和错误信息给程序的使用者
- clog ostream类型 用于产生程序执行的一般信息
- :: 作用域操作符 如std::cout的含义:使用的是定义在命名空间std中的cout
运行程序时,大部分操作系统都提供了重定向输入或输出流的功能。利用重定向可以将这些流与所选择的文件联系起来。???
- 输出操作符:<<
- 输入操作符:>>
- endl 操纵符 将它写入到流时,具有换行的效果,并刷新与设备相关联的缓冲区。通过刷新缓冲区,用户可立即看到写入到流中的输出
输出操作符接受两个操作数,左操作数必须是ostream类型,右操作是要输出的值。操作符将右操作数写到作为其左操作数的ostream对象。C++中每个表达式都会产生一个结果,当操作符是输出操作符时,结果是左操作数的值。即输出操作返回的值是输出流本身。因此,可以将输出请求链接到一起。