第二章 开始学习C++

时间:2023-02-06 18:00:01

第二章  开始学习C++

2.1  main函数

简单代码如下:

#include <iostream>
int main()
{
//This is my first program
using namespace std;
cout << "Hello C++!" << endl;
return 0;
}

C++中所有的语句都以分号(;)结束。return 0;叫做返回语句。

2.1.1  作为接口的函数头

函数头描述了函数与调用它的函数的接口。函数头包含函数返回类型、函数名和参数列表。

在C++中int main(void)和int main()等效。

在C中int main()意味着对是否接受参数保持沉默。

2.1.2  为什么main不能用其他名称

C++程序必须包含一个名称为main的函数,这个名称为main的函数为程序的入口。

不过也存在例外。Windows编程中,程序并不是以main函数作为入口。

2.1.3  C++注释

C++风格的注释采用//

C风格的注释采用/*…*/,后来C++也融合了这种方式。但是应当尽量避免使用这种风格的注释,因为这样的注释会要求左右的匹配,容易出现问题。

2.1.4  预处理器

程序中#include <iostream>是预处理指令,表示编译之前要包含iostream这个文件到程序的开始位置。

2.1.5  头文件的命名

C++虽然完全融合了C语言,不过应当尽量使用C++风格的文件。下表为旧式风格的文件命名和新风格的文件命名。

C++旧式风格

以.h结尾

例如iostream.h

C旧式风格

以.h结尾

例如string.h

C++新风格

没有扩展名

例如iostream

C新风格

没有扩展名,加上前缀c

例如cstring

2.1.6  命名空间

为了解决不同厂商提供的函数库可能存在同名函数的问题,C++提出命名空间的解决方案。上述代码中using指令显示指定要采用std名称空间。如果使用using指令,要在每个函数或者变量之前加入std::前缀(作用域限定符)。

2.2  C++语句

2.2.1  声明语句

C++是类型严格的编程语言,在使用变量之前要先声明变量,以告知编译器该变量的类型,声明语句一般为:type name; 如int i;

2.2.2  赋值语句

赋值语句的作用是为变量提供数值。赋值语句的格式为:name = express; 如i = i + 1;

2.2.3  其他语句

其他语句还有函数调用语句,表达式语句等。

2.3  函数

2.3.1  函数格式

函数的一般格式为

type functionname(argumentlist)
{
Statements
}

2.3.2  函数声明

如果在函数体的定义之前调用该函数,编译器会报出未识别的标识符的错误。原因是编译器不能提前预知函数名。解决方案是在函数的调用之前加入该函数的函数头,来声明该函数。这样编译器就会提前知道所使用的标识符为函数,并且知道函数的返回类型和参数列表。