代码示例
#include <iostream> // a preprocessor directive 预处理器指令
int main () // function header
{ // start of function bodyusing namespace std; // make definitions visiblecout << "hello!"; // message/statementcout << endl; // start a new linecout << "how are you?" // more outputcin.get(); // keep windows openingreturn 0; // terminate main()
} // end of function body
2.1.1 main()函数
int main() // 函数头 function heading
{ // 后面部分是函数体statements // 每条完整的指令都称为语句,语句均以分好结束return 0;
}
函数头:描述的是函数与调用它的函数之间的接口;
- 函数名前的称为函数返回类型,描述从函数返回给调用它的函数的信息。
- 函数名后()中的部分叫做形参列表(参数列表parameter list),形参可为空,用于描述从调用函数传递给被调用函数的信息;
- int main() 的含义:main()函数可以给调用它的函数返回一个整数值,且不从调用它的函数
那里获得任何信息; - main 函数:在c++程序中,通常从main函数开始执行,如果没有main ,程序将不完整,编译器将指出未定义main函数。
语句:要执行的操作
分号:终止符(terminator),告知编译器语句结束,是语句的组成部分
2.1.2 C++ 注释
注释:程序员为读者提供的说明,有助于他人或自己理解代码。
// 注释方法1,推荐/*注释方法2
*/
2.1.3 C++预处理器和iostream文件
#include 预处理器编译指令
#include <iostream> //该编译指令导致预处理器将iostream文件的内容添加到程序中。
该编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行 #include<iostream>
。原始文件没有被修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件。
2.1.4 头文件名
头文件(包含文件)——被包含在文件起始处
c语言头文件扩展名.h
c++ 头文件无扩展名 iostream
转换后的C 加上前缀c,没有扩展名cmath
2.1.5 名称空间
using namespace std; // using 编译指令
在协同工作时,如果同一函数再不同协作方有不同的版本吗,可以使用using 编译指令
指定说明采用哪一方的函数版本
Microflop::wanda ("go dancing?"); // use Microflop namespace version
Piscine::wanda("a fish named Desire"); // use Piscine namespace version
c++中类、函数和变量都被放置在命名空间std中。即cout
实际上是std::cout
;如果在开始时省略using namespace std;
语句,后文使用时,可以采用一下形式,如std::cout << std::endl;
,std::cout << "hello.";
这个using编译指令使得std名称空间中的所有名称都可用。
部分使用时,
using std::cout; // make cout available
using std::endl; // make endl available
using std::cin; // make cin available
2.1.6 使用cout进行C++输出
cout << "hello!";
双引号括起的部分是要打印的字符串;
<<符号表示该语句将把这个字符串发送给cout;该符号指出了信息流动的路径。
cout是一个预定义对象
cout << endl;
在输出流中插入endl将导致屏幕光标移到下一行开头。
endl 也是在头文件iostream中定义的,且位于名称空间std中。
\n //换行符
对比
endl确保程序继续运行前刷新输出(将其立即显示在屏幕上);
而使用“\n”不能提供这样的保证,这意味着在有些系统中,有时可能在您输入信息后才会出现提示(光标移到下一行)。
2.1.7 C++ 源代码风格
遵循合理的风格,程序将更便于阅读。
- 每条语句占一行
- 每个函数都由一个开始花括号开始,一个花括号结束,这两个花括号各占一行
- 函数中的语句都相对于花括号进行缩进
- 与函数名称相关的圆括号周围没有空白