C语言结构化编程之函数_调用函数

C语言结构化编程之函数_函数定义_02 前言

上章节我们讲解完C语言中跳转语句break,continue,goto。本章节主要内容是讲解C语言模块化设计之函数。

C语言结构化编程之函数_函数定义_02 C语言结构化编程

结构化编程是一种编程技术,其中较大的程序被划分为较小的子程序,以使其易于理解,易于实现并使代码可重用等。结构化编程使代码可重用性成为可能。代码可重用性是一种编写代码并多次使用它的方法。使用结构化编程技术,我们编写一次代码并多次使用它。结构化编程还使程序易于理解,提高程序质量,易于实现并减少时间。在C语言中,可以使用函数概念来设计结构化编程。使用函数概念,我们可以将较大的程序划分为较小的子程序,并且这些子程序是单独实现的。C语言中的每个子程序或函数都是单独执行的。

C语言结构化编程之函数_函数定义_02

C语言函数

当我们编写一个程序来解决一个更大的问题时,我们将更大的问题分成更小的子问题并单独求解以使程序更容易。在C语言中,这个概念是使用函数实现的。函数用于将较大的程序划分为较小的子程序,使程序易于理解且易于实现。

函数是用于执行特定任务的程序的子部分,并且是单独执行的,在C语言中函数作用如下:

  • 使用函数我们可以实现模块化编程。

  • 函数使程序更易读和易懂。

  • 使用函数,程序实现变得容易。

  • 一旦创建了一个函数,它就可以多次使用(代码可重用性)。

  • 使用功能较大的程序可以分为较小的模块。

每个C语言程序必须包含至少一个名为main()的函数。但是程序也可能包含其他功能。

C语言中的每个函数都有以下内容:

  1. 函数声明(功能原型)

  2. 函数定义

  3. 函数调用

C语言结构化编程之函数_函数定义_02 函数声明

函数声明告诉编译器函数名称,返回值的数据类型和参数。函数声明也称为函数原型。函数声明在main函数之前或main函数内部或任何其他函数内执行。

函数声明语法:returnType functionName(parametersList);

在上面的语法中,returnType指定值的数据类型,该值作为函数定义的返回值发送。该functionName是用于在程序中唯一地识别该功能的用户定义的名称。的parametersList是被发送到函数定义的数据值。

C语言结构化编程之函数_函数定义_02

函数定义

函数定义提供该函数的实际代码。函数定义也称为函数体。函数的实际任务在函数定义中实现。这意味着函数执行的实际指令都写在函数定义中。函数的实际指令写在大括号“{}”中。功能定义在主功能之前或主功能之后执行。

函数定义语法

returnType functionName(parametersList)

{

    实际代码...

}

C语言结构化编程之函数_函数定义_02

函数调用

函数调用告诉编译器何时执行函数定义。执行函数调用时,执行控制跳转到执行实际代码的函数定义,并在执行完成后返回相同的函数调用。函数调用在main函数内部或任何其他函数内部或函数本身内部执行。

函数调用语法 :functionName(参数);

C语言结构化编程之函数_函数定义_02

函数参数

当一个函数在程序中执行时,执行控制从调用函数转移到被调用函数并执行函数定义,最后返回到调用函数。当执行控制从调用函数转移到被调用函数时,它可以携带一个或多个数据值。这些数据值称为参数

在C中,有两种类型的参数,它们如下:

  • 实际参数:在调用函数中指定的参数称实际参数

  • 形式参数:在被调用函数中声明的参数称形式参数。

实际参数的值始终复制到形式参数中。在C编程语言中,有两种方法可以将参数从调用函数传递给被调用函数,第一种是:值传递。第二种:地址传递。

1 值传递

通过值参数传递方法调用时,将实际参数值的副本复制到形式参数,并且这些形式参数用于被调用函数。对形式参数所做的更改不会影响实际参数的值。这意味着,在执行控制返回到调用函数之后,实际参数值保持不变。例如:

C语言结构化编程之函数_调用函数_09 2 地址传递

将实际参数的存储器位置地址复制到形式参数。该地址用于访问被调用函数中实际参数的内存位置。在这种参数传递方法中,形式参数必须是指针变量。

这意味着在通过引用参数传递方法调用时,实际参数的地址被传递给被调用的函数,并由形式参数(指针)接收。每当我们在被调用函数中使用这些形式参数时,它们就直接访问实际参数的内存位置。因此,对形式参数所做的更改会影响实际参数的值。例如:

C语言结构化编程之函数_函数定义_10

C语言结构化编程之函数_函数定义_02

常用标准库函数

标准功能是内置功能。在C语言中,标准函数在头文件中声明并在.dll文件中定义。简而言之,标准函数可以定义为“系统定义的现成函数,使编码更容易”。标准函数也称为库函数预定义函数

在C语言中,当我们使用标准函数时,我们必须使用#include语句包含相应的头文件。例如,函数printf()在头文件stdio.h(标准输入输出头文件)中定义。当我们在程序中使用printf()时,我们必须使用#include <stdio.h>语句包含stdio.h头文件。

C语言结构化编程之函数_函数调用_12

C语言结构化编程之函数_函数定义_02

尾言

本章节没有讲解递归调用,后续内容会补充,这里不做讲解。

作业:用户输入三角形3边,通过子函数的方式实现求面积。

不要失去信心,只要坚持不懈,就终会有成果的,加油。

C语言结构化编程之函数_调用函数_14

C语言结构化编程之函数_函数声明_15



本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。