开始系统学习C++

半城伤御伤魂 提交于 2020-03-07 03:25:44

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 组合成一个复合文件,编译的下一个阶段将使用该文件。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!