C++基础篇
在学习过C语言的基础上,对C++的学习会比较容易理解,所以奔着兴趣利用寒假来学习学习这门编程语言。
编写一个简单的C++程序
int main(void){
return 0;
}
一个函数的定义包含四部分:返回类型(return type)、函数名(function name)、一个括号包围的形参列表(parameter list,允许为空)以及函数体(function body)。虽然main函数在某种程度上比较特殊,但其定义与其他函数是一样的。
输入和输出
使用iostream库,其中包含了istream和ostream两种基本类型分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。“流”(stream)表达的就是随着时间的推移,字符是顺序生成或消耗的。
为了处理输入输出,输入采用的是一个名为cin的istream类型的对象,即标准输入;而一个名为cout的ostream类型的对象,即标准输入。
cerr:通常用来输出警告和错误信息,因此也被称为标准错误,而clog用来输出程序运行时的一般性信息。
下面是一个使用IO库程序的实例:
通过使用IO库,我们可以扩展main程序,使之能提示用户输入两个数,然后输出它们的和:
#include<iostream>
int main(void){
std::cout<<"Enter two numbers:"<<std::endl;
int a=0,b=0;
std::cin>>a>>b;
std::cout<<a<<"+"<<b<<"="<<a+b<<std::endl;
return 0;
}
运行结果如图:
程序的第一行
#include<iostream>
告诉编译器我们想要使用iostream库。尖括号中的名字指出了一个头文件。每个使用标准库设施的程序都必须包含相关的头文件。通常情况下,#include指令必须出现在函数之外。我们一般将一个程序所有#include指令都放在原文件的开始位置。
输出运算符(<<),输入运算符(>>)
endl:被称为操纵符的特殊值,写入endl的效果是结束当行,并将与设备关联的缓冲区中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。
命名空间(namespace):可以避免名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。通过使用作用域运算符(::)来指出我们想定义在命名空间std中的名字cout。
练习
参考文献
[1]: C++ Primer中文版 第5版 [(美)李普曼,(美)拉乔伊,(美)默著][电子工业出版社][2013.08][838页]