C语言作为一门高级编程语言被广泛应用各种开发领域,而我们学习理解C语言的重要一步是要学会分析代码,而分析代码我们就要先理解函数的概念,那么我们如何分析代码呢?下面课课家笔者教大家怎样去分析C语言的代码,代码例子具体如下(红色部分):
第1行:#include
第2行:int main()
第3行:{
第4行:puts("正确学习C语言的方法");
第5行:return 0;
第6行:}
◎函数的概念
通常第4行代码会在显示器上输出我们想要的内容。在C语言中,有的语句使用时不能带括号,有的语句必须带括号,而带括号的称为函数(Function)。C语言提供了很多功能,比如输入输出、获得日期时间、文件操作等,我们只需要一句简单的代码就能够使用。估计有人会问C语言有那么多代码,我们该如何从中找到自己需要的呢?不用担心,其实这些代码早已被分门别类地放在了不同的文件中,并且每一段代码都有唯一的名字。在我们使用代码时我们只要在对应的名字后面加上()就可以。这样的一段代码能够独立地完成某个功能,一次编写完成后可以重复使用,这样的代码被称为函数(Function),简单来说函数就是一段可以重复使用的代码。
函数的一个明显特征就是使用时必须带括号(),必要的话括号中还可以包含待处理的数据,比如puts("正确学习C语言的方法")就使用了一段具有输出功能的代码,这段代码的名字是puts,"正确学习C语言的方法"是要交给这段代码处理的数据,此时我们把这个过程称作函数调用(FunctionCall)。若是函数需要处理多个数据,那么它们之间使用逗号,分隔,比如:pow(10,2);,此函数是用来求10的2次方的。需要我们特别注意的地方是,C语言中的函数和数学中的函数不是同一个概念,两者不能对比。
◎自定义函数和main函数
C语言自带的函数称为库函数(LibraryFunction)。库(Library)是编程中的一个基本概念,可以简单地认为它是一些列函数的集合,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。自定义函数和库函数在编写和使用方式上完全相同,只是由不同的机构来编写。
①在本文开头的代码例子中第2~6行代码就是我们自己编写的一个函数。main是函数的名字,()表明这是函数定义,{}之间的代码是函数要实现的功能。
②函数可以接收待处理的数据,同样可以将处理结果告诉我们;使用return可以告知处理结果。代码例子中第5行代码表明,main函数的处理结果是整数0。return可以翻译为“返回”,所以函数的处理结果被称为返回值(Return Value)。
③第2行代码中,int是integer的简写,意为“整数”。它告诉我们,函数的返回值是整数。
PS:代码例子中的自定义函数必须命名为main。C语言规定,一个程序必须有且只有一个main函数。main被称为主函数,是程序的入口函数,程序运行时从main函数开始,直到main函数结束(遇到return或者执行到函数末尾时,函数才结束),也就是说没有main函数程序将不知道从哪里开始执行,运行时会报错。
综上所述:第2~6行代码定义了主函数main,它的返回值是整数0,程序将从这里开始执行。main函数的返回值在程序运行结束时由系统接收。
◎头文件的概念
或许有人会问代码例子中的第1行的#include
较早的C语言标准库包含了15个头文件,stdio.h和stdlib.h是最常用的两个:
①stdio是standard input ouput的缩写,stdio.h被称为“标准输入输出文件”,包含的函数大都和输入输出有关,puts()就是其中之一。
②stdlib是standard library的缩写,stdlib.h被称为“标准库文件”,包含的函数比较杂乱,多是一些通用工具型函数,system()就是其中之一。
◎整理总结
本文开头的代码例子是一个C语言程序的基本结构,我们可以从整体上分析一遍,具体为:
①第1行通常在用了函数的情况下需要引入stdio.h,而下例中我们没有调用任何函数,所以不必引入头文件。
intmain()
{
return 0;
}
②第2行我们开始定义主函数main。main是程序的入口函数,一个C程序必须有main函数,而且只能有一个。
③第4行调用puts函数向显示器输出字符串。
④第5行是main函数的返回值。程序运行正确一般返回0。
最后留给大家一个代码让大家练习练习(图1)。
图1
本次简单分析一个C语言代码的教程比较基础重要,希望大家在学习C语言的过程中务必熟读,以免以后在编写实例的过程中发生错误,造成不必要的时间浪费。
¥299.00
¥399.00
¥498.00
¥29.00