C++程序样例
/**
* Author@Cheng Feitian
* Date: 2020-3-6
* Function: 显示消息
*/
#include <iostream>
int main(){
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won`t regret it!" << endl;
return 0;
}
main()函数
根据上述代码,可以抽象出 C++ 的基本结构:
int main(){
statements;
return 0;
}
与 C 语言差别不大,组成:
- int main () 称为函数头;
- 花括号({和})包含的部分称为函数体。
- 最后一句称为返回语句。
1.作为接口的函数头
需要谨记的是,C++ 句法要求 main() 函数的定义以函数头 int main() 开始。
通常来说,C++ 函数可被其他函数激活或调用,函数头描述了函数与调用他的函数之间的接口。位于函数名前面的部分叫做函数的返回类型,它描述的是从函数返回给调用它的函数的信息。函数名后 括号 中的部分叫做形参列表;描述的是从调用函数传递到被调函数的信息。
main() 函数与其他函数不同,该函数一般被启动代码调用,即被操作系统调用,该函数头描述的是main() 和操作系统之间的接口。
从 main 函数的接口描述中看,该接口从 int 开始,这意味着 C++ 函数可以给调用函数一个返回值,类型为 int 型。main 函数后边跟的是空括号,一般来说,C++ 函数在调用另一个函数时,可以将信息通过另一个函数的函数接口传递给该函数,然而在这里空括号意味着 main 不接受任何信息,或者说不接受任何参数。
简言之,下面的函数头表明 main 函数可以返回给调用函数一个 int 型值,同时不从调用它的函数哪里获得任何信息:
int main()
也可以使用下面的变体:
int main (void)
该函数变体说明了main 函数不接受任何参数,在 C++ 中(非 C),让括号空着与在括号中使用 void等效 (在 C 中,让括号空着意味着对是否接受参数保持静默)
2.为什么 main() 不能是其他名称
通常来说,C++ 程序必须包含一个名为 main() 的函数(,大小写和拼写也不能随意改动)。因为上述例子中只有一个函数,所以必须要有 main() 函数。在运行 C++ 程序时,通常从 main() 函数开始执行,若无,编译器将会指出未定义 main() 函数。
存在一些例外情况,在 Windows 编程中,可以编写动态链接库(DLL)模块,这是其他 Windows 程序可以使用的代码,且 DLL 模块不是独立程序,因此不需要 main() 。用于专用环境的程序可能不需要 main() , 如机器人中的控制器芯片。有些编程环境提供一个框架程序,该程序调用一些非标准函数,如 _tmain()。在这种情况下,一般有一个隐藏的 main(), 他调用 _tmain()。
C++ 预处理器和 iostream 文件
C++ 和 C 一样,也使用一个预处理器,该程序在进行主编译之前对源文件进行处理。不必执行任何特殊操作来调用该处理器,它会在编译程序时自动运行。例 #include 编译指令:
#include < iostream >
该编译指令导致预处理器将 iostream 文件的内容添加到程序中。这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本。第一个程序需要这个定义,因为该程序需要与外部世界通信。#include 指令导致 iostream 文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream 文件的内容将取代程序中的代码行 #include < iostream >。原始文件没有被修改,而是将源代码文件和 iostream 组合成一个复合文件,编译的下一个阶段将使用该文件。
来源:CSDN
作者:artisticbones
链接:https://blog.csdn.net/artisticbones/article/details/104698878