寒假1-c-primer第一章

寒假1 C++primer 第一章

在跨度还算比较大的这样一个寒假里,我选择了阅读这本《C++ primer》,来巩固,再次复习巩固本学期水过去学到的C++编程知识。♪(*)

本章重要术语罗列:

1.程序块:零条或多条语句的序列,用花括号包围。

**2.缓冲区:**一个存储区域用于保存数据。IO设施通常将输入(或输出)数据保存在一个缓冲区中,读写缓冲区的动作与程序的动作是无关的。我们可以显式地刷新输出缓冲,以便强制将缓冲区中的数据写入输出设备。默认情况下,读cin会刷新cout;程序非正常终止时也会刷新cout

//最后一句话可能有点难以理解,在此给出初步解释:ios::tie()函数。

**3.编辑-编译-调试(edit-compile-debug):**使程序能正确执行的开发过程。

**4.EOF:**end of file ,系统特定的标识,指出文件中无更多数据了;

**5.条件:**求值结果为真或假的表达式。通常用值0表示假,用非零值表示真。

//特别地,当cin读取到EOF时,与读取到无效输入时一样,返回的&istream对象作为条件时,其效果是检测流的状态,为无效&istream对象,此对象会使条件变为假。

**6.类:**一种用于定义自己的数据结构及相关操作的机制。类是C++中最基本的特性之一。标准库类型中,如istreamostream都是类。

**7.类类型:**类定义的类型。类名即为类型名。

**8.库类型:**标准库定义的类型,如istream

**9.成员函数:**类定义的操作。通常通过调用成员函数来操作特定对象。

**10.方法:**成员函数的同义术语。

**11.数据结构:**数据及其上所允许的操作的一种逻辑组合。

**12.变量:**具名对象。

//以上几个术语可以捆绑理解,如class A{/**/};这行代码中,A为类,对于{}内内容则为A类的数据结构,内含成员函数与具名对象,在使用A时,如A a,则a被称为A类类型的变量

**13.内置类型:**由语言定义的类型,如int

**14.未初始化的变量:**未赋予初值的变量。类类型的变量如果指定初值,则按类指定的方式进行初始化。定义在函数内部的内置类型默认是不初始化的,除非有显式的初始化语句。试图使用一个未初始化变量的值是错误的。未初始化变量是bug的常见成因。

**15.命名空间:**将库定义的名字放在一个单一位置的机制。命名空间可以帮助避免不经意的名字冲突。C++标准库定义的名字在标准库所使用的命名空间std中。

**16.::运算符:**作用域运算符。其用处之一是访问命名空间中的名字。例如,std::out表示命名空间std中的名字cout

**17.cin:**一个istream对象,用来从标准输入读取数据。

**18.标准输入:**输入流,通常与程序执行所在窗口相关联。

**19.>>运算符:**输入运算符。从左侧运算对象所指定的输入流读取数据,存入右侧运算对象中:cin>>i表示从标准输入读取下一个值,存入i中。输入运算符可以连接:cin>>i>>j表示先读取一个值存入 i ,再读取一个值存入 j 。

**20.istream:**提供了面向流的输入的库类型。

//cout与之大体相似:ostream对象,将数据写入标准输出。通常用于程序的正常输出内容。标准输出与标准输入定义基本形式一致。<<运算符则负责将右侧值读到流对象后,写到标准输出,亦可连接使用。ostream亦如istream

**21.标准库:**一个类型和函数的集合,每个C++编译器都必须支持。标准库提供了支持IO操作的类型。C++程序员倾向于用“库”指代整个标准库,还倾向于用库类型表示标准库的特定部分,例如用“iostream库”来表示标准库中定义IO类的部分。

**22.()运算符:**调用运算符。跟随在函数名之后的一对括号"()",起到调用函数的效果。传递给函数的实参放置在括号内。

//在定义函数时括号内的实参称作形参列表,指出调用函数时可以使用什么样的实参,形参列表可能为空。

**23.#include:**头文件包含指令,使头文件中代码可被程序使用。

**24.iostream:**头文件,提供了面向流的输入输出的标准库类型。

**25.头文件:**使类或其它名字的定义可被多个程序所使用的一种机制。程序通过#include指令使用头文件。

**26.源文件:**包含C++程序的文件。

**27.操纵符:**对象,如std::endl,在读写流的时候用来“操纵”流本身。(在流中写入endl的效果是结束当行,并将于设备关联的缓冲区中的内容刷到设备中。)

//疑难不常用术语

**28.clog:**一个ostream对象,关联到标准错误。默认情况下,写到clog的数据是被缓冲的。clog通常用于报告程序的执行信息,存入一个日志文件中。

**29.cerr:**一个ostream对象,关联到标准错误,通常写入到与标注输出相同的设备。默认情况下,写入cerr的数据使不缓冲的。cerr通常用于输出错误信息或其它不俗与程序正常逻辑的输出内容。

**30.标准错误:**输出流,用与报告错误,标准输出和标准错误通常关联到程序执行所在的窗口。

重点中的重点:↓↓↓

31.流:它想要表达的是,随着时间的推移,字符是顺序生成或消耗的。

启发性内容:

**1.**C++语言并未定义任何输入输出语句,取而代之,包含了一个全面的标准库,来提供IO机制。

**2.**系统通常将程序所运行的窗口与这些对象关联起来,因此当我们读取cin,数据将从程序正在运行的窗口读入,当我们向cout、cerr和clog写入数据时,将会写到同一个窗口。

**3.**程序员常常在调试时添加打印语句。这类语句应该保证“一直”刷新流。否则,如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断。

**4.**输入运算符与输出运算符类似,它接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象。它从给定的istream读入数据,并存入给定对象中。

5.“/*”中后面的“不会被看作注释,说明,优先级”“大于/*注释符。

**6.**在定义函数时,函数体语法要求为程序块,{}非写不可,在某些情况下,语法要求此地应为语句,则可利用程序块代替语句。

**7.**程序员常常在调试时添加打印语句。这类语句应该保证“一直”刷新流。否则,如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断。

**8.**IDE,集成开发环境,将编译器与其他程序创建和分析工具包装在一起。在开发大型程序时这类集成环境可能是非常有用的工具,但需要一些时间来学习如何高效地使用它们。

**9.**从键盘输入文件结束符,Windows:敲Ctrl+Z然后按Enter或Return键。Unix:输入Ctrl+D。

**10.**编译器一般不关心头文件名的形式,但有的IDE对此有特定要求。

本章作为总领篇,知识结构复杂多样,理解难度大,查到了很多漏洞,笔者手敲,文本量也很大,但在记录中收获了很多很多,常看常新。希望这是寒假阅读系列的一个好的开头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值