王老头

导航

第一章 开始

1.输入输出

       运算符打印endl,这是一个被称为操纵符的特殊值。写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输入都真正写入输出流中,而不是仅停留在内存中等待写入流。

注:我们常常在调试bug的时候添加打印语句。这类语句应该保证一直刷新流,否则,如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断。简而言之,就是我们在打印语句中记得添加endl。

2.读取数量不定的输入数据

       当我们不知道要对多少个数的时候,就需要不断读取数据直至没有新的输入为止:即,while(cin>>value)

       当我们在使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(end of file),或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态会变为无效。处于无效状态的istream对象会使条件变为假。

注:当从键盘向程序输入数据时,对于如何指出文件结束,不同操作系统会有不同的约定。在Windows系统中,输入文件结束符的方法是敲Ctrl+Z(同时按住Ctrl+Z键),然后按Enter或Return键。在Unix系统中,包括Mac OS系统中,文件结束符输入是用Ctrl+D。

简单的一个例子:

 1 #include <iostream>
 2 using namespace srd;
 3 int main(){
 4     int sum=0,value=0;
 5     while(cin>>value){
 6         sum+=value;
 7     }  
 8     cout<<"Sum is:"<<sum<<endl;
 9     return 0;
10 } 

如果我们输入 3 4 5 6

则程序会输出 Sum is:18

3.类简介

为了使用标准库实施,我们必须包含相关的头文件。类似的,我们也需要使用头文件来访问为自己的应用程序所定义的类。习惯上,头文件根据其中定义的类的名字来命名。我们通常使用.h作为头文件的后缀,但也有一些习惯使用.H或.hpp。标准库头文件通常不带后缀。

来自标准库的头文件时,也应该用尖括号(<>)包围头文件名,对于不属于标准库的头文件时,则用双引号(" ")包围。

使用文件重定向:当在测试程序时,反复从键盘敲入这么销售记录作为程序的输入,时非常乏味的。大多数操作系统支持文件重定向,这种机制允许我们将标准输入和标准输出与命名文件关联起来:$ addItems <infile >outfile

假定$是操作系统提示符,我们程序已经编译名为addItems.exe的可执行文件(在UNIX中是addItems),则上述命令会从一个名为infile的文件读取销售记录,并将输出结果写入到一个名为outfile的文件中,两个文件都位于当前目录中。

posted on 2018-03-29 23:44  王老头  阅读(111)  评论(0)    收藏  举报