评论

收藏

[C++] C语言结构化编程之函数

编程语言 编程语言 发布于:2021-08-06 13:28 | 阅读数:292 | 评论:0

DSC0000.gif


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

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

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

  • 使用函数我们可以实现模块化编程。
                      
  • 函数使程序更易读和易懂。
                      
  • 使用函数,程序实现变得容易。
                      
  • 一旦创建了一个函数,它就可以多次使用(代码可重用性)。
                      
  • 使用功能较大的程序可以分为较小的模块。
                      
每个C语言程序必须包含至少一个名为main()的函数。但是程序也可能包含其他功能。
C语言中的每个函数都有以下内容:

  • 函数声明(功能原型)
                      
  • 函数定义
                      
  • 函数调用
                      
                  函数声明函数声明告诉编译器函数名称,返回值的数据类型和参数。函数声明也称为函数原型。函数声明在main函数之前或main函数内部或任何其他函数内执行。
函数声明语法:returnType functionName(parametersList);
在上面的语法中,returnType指定值的数据类型,该值作为函数定义的返回值发送。该functionName是用于在程序中唯一地识别该功能的用户定义的名称。的parametersList是被发送到函数定义的数据值。

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

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

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

  • 实际参数:在调用函数中指定的参数称实际参数
                     
  • 形式参数:在被调用函数中声明的参数称形式参数。
                   
实际参数的值始终复制到形式参数中。在C编程语言中,有两种方法可以将参数从调用函数传递给被调用函数,第一种是:值传递。第二种:地址传递。
1                                         值传递通过值参数传递方法调用时,将实际参数值的副本复制到形式参数,并且这些形式参数用于被调用函数。对形式参数所做的更改不会影响实际参数的值。这意味着,在执行控制返回到调用函数之后,实际参数值保持不变。例如:

DSC0002.jpeg                      2                                         地址传递将实际参数的存储器位置地址复制到形式参数。该地址用于访问被调用函数中实际参数的内存位置。在这种参数传递方法中,形式参数必须是指针变量。
这意味着在通过引用参数传递方法调用时,实际参数的地址被传递给被调用的函数,并由形式参数(指针)接收。每当我们在被调用函数中使用这些形式参数时,它们就直接访问实际参数的内存位置。因此,对形式参数所做的更改会影响实际参数的值。例如:
DSC0003.jpeg


                   常用标准库函数标准功能是内置功能。在C语言中,标准函数在头文件中声明并在.dll文件中定义。简而言之,标准函数可以定义为“系统定义的现成函数,使编码更容易”。标准函数也称为库函数预定义函数
在C语言中,当我们使用标准函数时,我们必须使用#include语句包含相应的头文件。例如,函数printf()在头文件stdio.h(标准输入输出头文件)中定义。当我们在程序中使用printf()时,我们必须使用#include <stdio.h>语句包含stdio.h头文件。

DSC0004.jpeg

                  尾言本章节没有讲解递归调用,后续内容会补充,这里不做讲解。
作业:用户输入三角形3边,通过子函数的方式实现求面积。
不要失去信心,只要坚持不懈,就终会有成果的,加油。
DSC0005.jpeg






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


关注下面的标签,发现更多相似文章