C++ Primer Plus 读书笔记(一)
第二章:开始学习C++
1.C语言输入和输出
C++能够使用printf()、scanf()和其他所有标准C输入和输出函数,只需要包含常规C语言的 stdio.h
头文件
2.main()
main()被启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁
3.void
int main(void)
在C++中,让括号空着与在括号中使用void等效
在C中,让括号空着意味着对是否接受参数保持沉默
如果是直接()而不是(void),调用的时候可以传递参数,只是传了用没什么用
4.main 函数中的 return 0
return 0
编译器在到达main()函数末尾的时候,如果没有遇到返回语句,则认为以return 0 为结尾
return 0,说明程序正常退出,返回到主程序继续往下执行。
returm 1,说明程序异常退出,返回主调函数来处理,继续往下执行。
5. #include 编译指令
该指令导致预处理器将iostream
文件的内容添加到程序中。这是一种典型的预处理操作:在源代码被编译之前,替换或添加文本
io指的是输入和输出
源文件并没有被修改,而是将源代码文件和iostream组合成一个符合文件,编译的下一阶段将使用该文件
6.cin 和 cout
cin 和 cout 均来自 iostream 头文件
cout 是一个 ostream 对象
cin 是一个 istream 对象
<<
符号表示该语句将字符串发给cout,指出了消息流动的路径
可以说是,将一个字符串插入到了输入流中
在cout打印之前,会将其他形式的数据转化为字符串,再进行输出
>>
符号表示从输入流中抽取字符
7.endl
endl是一个特殊的C++符号,表示一个重要的概念:重起一行。
在输出流中插入endl将导致屏幕光标移到下一行开头。
诸如 endl等对于cout 来说有特殊含义的特殊符号被称为控制符(manipulator)。
和 cout一样,endl也是在头文件iostream中定义的,且位于名称空间std 中。
打印字符串时,cout不会自动移到下一行,每条cout语句的输出从前一个输出的末尾开始
也可以在cout字符串末尾使用'\n'
但是 endl
和 '\n'
还是有区别的,endl除了写进 ‘\n’ 外,还会调用 flush()
函数,来刷新,显示出缓冲区的内容
过多的endl会影响运行效率,因为他会不断调用 flush()
函数
8.函数
表达式sqrt(6.25)将调用sqrt()函数。表达式sqrt(6.25)被称为函数调用,被调用的函数叫做被调用函数(called function),包含函数调用的函数叫做调用函数
qrt()函数。表达式sqrt(6.25)被称为函数调用,被调用的函数叫做被调用函数(called function),包含函数调用的函数叫做调用函数