返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言函数分类自定义参数及调用方法是什么
  • 432
分享到

C语言函数分类自定义参数及调用方法是什么

2023-06-21 20:06:41 432人浏览 泡泡鱼
摘要

本篇内容主要讲解“C语言函数分类自定义参数及调用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言函数分类自定义参数及调用方法是什么”吧!1.  函数是什么?提到函数,我们

本篇内容主要讲解“C语言函数分类自定义参数及调用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言函数分类自定义参数及调用方法是什么”吧!

1.  函数是什么?

提到函数,我们最先想到的肯定是数学中的函数,那么C语言中的函数究竟是什么呢?接下来带大家看一下吧!

维基百科中对函数的定义:子程序

在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组 成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软 件库。

2.  C语言中函数的分类

2.1 库函数

2.1.1 为什么要有库函数

我们知道在我们学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想把这个结果打印到我们的屏幕上看看。这个时候我们会频繁的使用一个功能:将信息按照一定的格 式打印到屏幕上(printf)。

在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)。

在编程是我们也计算,总是会计算n的k次方这样的运算(pow)。

像上面我们描述的基础功能,它们不是业务性的代码。我们在开发的过程中每个程序员都可能用的到, 为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发

2.1.2 什么是库函数

那么什么是库函数呢?举个简单的例子,库函数就是C语言本身给我们已经定义好的函数,作为程序员我们可以直接使用,就像printf()和scanf()。

注意:使用库函数必须包含头文件,例如我们使用printf()与scanf()时要引用stdio.h头文件,即我们通常写的#include<stdio.h>

2.1.3 主函数只能是main()吗

很多小伙伴就疑惑了,那么主函数是什么呢?主函数为什么叫main函数呢?我们必须使用main()函数吗?接下来给大家解除这个疑惑!

首先给大家一个结论,C语言中默认main作为主函数的名字,但是主函数的名字却不一定一定是main(),实际上,我们可以自己进行设定主函数的名字的,C语言中提供了#pragma comment()可以自己设定主函数的名字,有兴趣的小伙伴可以自己去尝试,在这个地方像哟啊告诉大家,作为程序的入口主函数的名字不一定必须是main(),希望大家可以记住这个!至于主函数为什么叫main()函数,这本身就是C语言默认的,如果硬要强行解释一波的话,main()的英文意识 就是主要的意思。

2.1.4常见的库函数
  • IO函数

  • 字符串操作函数

  • 字符操作函数

  • 内存操作函数

  • 时间/日期函数

  • 数学函数

  • 其他库函数

这个地方不会展开去讲,后期用到的时候具体讲解。

2.2 自定义函数

2.2.1自定义函数是什么

自定义函数就是程序员自己定义用于首先特定功能的函数!比如我们要完成两个数的相加我们定义的add()函数就属于自定义函数。

2.2.2为什么要有自定义函数

自定义函数和库函数一样,有函数名,返回值类型和函数参数。

但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。

2.2.3函数的组成
ret_type fun_name(para1, *){statement;//语句项}ret_type 返回类型fun_name 函数名para1    函数参数
2.2.4 举例展示

(1)写一个函数可以找出两个整数中的最大值。

#include <stdio.h>//get_max函数的设计int get_max(int x, int y){return (x > y) ? (x) : (y);}int main(){int num1 = 10;int num2 = 20;int max = get_max(num1, num2);printf("max = %d\n", max);return 0;}

这个地方给大家解释一下三目运算符,即上面的(x>y)?(x):(y),这个地方表示的是,如果x>y成立,就返回x的值,反之就返回y的值,这样就达到了求最大值的目的!

(2)写一个函数求两个数的和

#include <stdio.h>//get_add函数的设计int get_add(int x, int y){return (x + y);}int main(){int num1 = 10;int num2 = 20;int sum = get_add(num1, num2);printf("sum = %d\n", sum);return 0;}

3. 函数的参数

3.1 实际参数(实参)

真实传给函数的参数,叫实参。 实参可以是:常量、变量、表达式、函数等。

注意:为什么可以是函数呢?因为有的函数是由返回值的,所以自然也就能充当实参。

无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形 参。

3.2  形式参数(形参)

形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内 存单 元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

为什么这样说呢?接下来给大家举个例子吧!

例如我们要交换两个变量的值:

#include <stdio.h>void swap(int x, int y){int temp = x;x = y;y = temp;}int main(){int num1 = 10;int num2 = 20;swap(num1, num2);printf("num1 = %d\nnum2 = %d", num1,num2);return 0;}

下面是代码的运行结果:

C语言函数分类自定义参数及调用方法是什么

很明显,并没有达成交换的目的,这就证明了:形式参数当函数调用完成之后就自动销毁了,即我们把num1和num2传给x和y之后,虽然我们在函数例将x和y交换了,但是由于x和y在swap函数调用完成后就销毁了,即并没有真正实现num1和num2的交换。

所以我们可以简单的认为:形参实例化之后其实相当于实参的一份临时拷贝。

4. 函数的调用

4.1 传值调用

函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。我们上述的交换的例子就是传值调用,即并不能真正达成交换两个变量的值的目的!

4.2  传址调用

传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。

这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操 作函数外部的变量。

同样,我们就以前面的交换两个变量的值的例子来给大家进行举例!

#include <stdio.h>void swap(int *x, int *y){int temp = *x;*x = *y;*y = temp;}int main(){int num1 = 10;int num2 = 20;swap(&num1, &num2);printf("num1 = %d\nnum2 = %d", num1,num2);return 0;}

这个地方为什么会发生这种情况呢?等后期我们学到指针的那一节的时候将会具体讲解!

4.3 练习

4.3.1. 写一个函数判断一年是不是闰年。
#include<stdio.h>int is_leap_year(int year){if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){return 1;}else{return 0;}}int main(){int year = 0;int flag = 0;scanf("%d", &year);flag=is_leap_year(year);if (1 == flag){printf("是闰年!");}else{printf("不是闰年!");}return 0;}
4.3.2.写一个函数可以判断一个数是不是素数。
#include<stdio.h>#include<math.h>int is_prime_num(int n){int flag = 0;int i = 0;for (i = 2; i <= sqrt(n); i++){if (n % i == 0){return 0;}}return 1;}int main(){int i = 0;for (i = 100; i < 200; i++){int flag = 0;flag=is_prime_num(i);if (1 == flag){printf("%d ", i);}elsecontinue;}return 0;}
4.3.3  写一个函数,实现一个整形有序数组的二分查找。
#include<stdio.h>int find_num(int arr[], int size,int k){int left = 0;int right = 0;right = size - 1;int mid = 0;while (left <= right){mid = (left + right) / 2;if (arr[mid] < k){left = mid + 1;}else if (arr[mid] > k){right = mid - 1;}else{return mid;}}if (left > right){return -1;}}int main(){int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int k = 7;int size = 0;size = sizeof(arr) / sizeof(arr[0]);int ret = 0;ret = find_num(arr, size,k);if (-1 == ret){printf("没有找到!");}else{printf("找到了!下标为%d", ret);}return 0;}

到此,相信大家对“C语言函数分类自定义参数及调用方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: C语言函数分类自定义参数及调用方法是什么

本文链接: https://lsjlt.com/news/300446.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C语言函数分类自定义参数及调用方法是什么
    本篇内容主要讲解“C语言函数分类自定义参数及调用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言函数分类自定义参数及调用方法是什么”吧!1.  函数是什么?提到函数,我们...
    99+
    2023-06-21
  • C语言函数基础教程分类自定义参数及调用示例详解
    目录1.  函数是什么?2.  C语言中函数的分类2.1 库函数2.1.1 为什么要有库函数2.1.2 什么是库函数2.1.3 主函数只能是main()吗2.1.4常见的库函数2.2...
    99+
    2024-04-02
  • c语言函数的定义与调用方法是什么
    C语言函数的定义和调用方法如下:1. 函数的定义:在C语言中,函数的定义包括函数的返回类型、函数名、参数列表和函数体。函数的定义一般...
    99+
    2023-08-18
    c语言
  • c语言怎么调用自定义函数
    要调用自定义函数,可以按照以下步骤进行:1. 在调用自定义函数之前,需要先进行函数的声明。函数声明一般写在程序的开头部分,表示该函数...
    99+
    2023-09-15
    c语言
  • c语言怎么自定义函数并调用
    c语言中自定义函数需遵循以下步骤:函数头:声明返回类型、名称和参数列表。函数体:包含执行任务的代码块。调用自定义函数时,使用函数名称和参数列表。 如何在 C 语言中自定义函数并调用 在...
    99+
    2024-05-13
    c语言
  • c语言怎么自定义函数并调用数据
    自定义函数在 c 中的定义和调用:定义:使用函数头(指定名称、参数和返回类型)和函数体(包含代码)。调用:使用函数名称后跟实际参数,括在圆括号内。 如何在 C 语言中定义和调用自定义函...
    99+
    2024-05-14
    c语言
  • c语言中函数的定义方法是什么
    在C语言中,函数的定义通常包含以下几个部分:1. 返回类型:函数可以有不同的返回类型,如int、float、void等,用来表示函数...
    99+
    2023-09-29
    c语言
  • shell自定义函数及参数调用解析
    一、定义函数 function fname(){statements;} 或 fname(){statements;} 二、调用函数 只需要使用函数名,即可调用某个函数:$ fname ; #执行函数 ...
    99+
    2022-06-04
    自定义 函数 参数
  • go语言中函数的定义是什么及怎么调用
    本文小编为大家详细介绍“go语言中函数的定义是什么及怎么调用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中函数的定义是什么及怎么调用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,函数是组...
    99+
    2023-07-04
  • c语言怎么定义函数并调用
    c语言中定义和调用函数的步骤:定义函数:使用return_type function_name (parameter_list) { 函数体 }语法,指定返回类型、函数名、参数列表和函数...
    99+
    2024-05-13
    c语言
  • 8、Python——python函数(函数分类以及定义与调用、参数注意事项、内建函数、参数分类、变量定义域)
    目录 1、函数的定义与调用 1.1、什么是函数 1.2、使用函数的好处 1.3、函数的定义 1.3.1、函数的赋值 2、函数参数 2.1、什么是函数参数 2.2、参数的形式 2.3、参数分类 2.3.1、参数的注意事项(⭐⭐⭐) 2.3.2...
    99+
    2023-09-21
    python 开发语言 后端
  • C语言中自定义函数的流程是什么
    在C语言中,自定义函数的流程如下:1. 函数声明:在函数调用之前,需要先声明函数。函数声明包括函数的返回类型、函数名、参数的类型和个...
    99+
    2023-09-15
    C语言
  • c语言调用子函数的方法是什么
    在C语言中,调用子函数的方法可以通过以下步骤实现:1. 首先,在主函数或其他需要调用子函数的函数中,声明子函数的原型。原型包括子函数...
    99+
    2023-10-08
    c语言
  • c语言子函数调用的方法是什么
    在C语言中,可以使用以下两种方法调用子函数:1. 值传递(Call by Value):将实参的值复制给形参,子函数中对形参的修改不...
    99+
    2023-09-13
    c语言
  • c语言中回调函数的使用方法及作用是什么
    本篇内容介绍了“c语言中回调函数的使用方法及作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言一、通过这节课程你能掌握以下知识...
    99+
    2023-06-20
  • c语言如何定义函数并调用
    在C语言中,函数定义的一般形式如下:返回值类型 函数名(参数列表){函数体}其中,返回值类型是函数执行完后返回的值的类型,可以是整数...
    99+
    2023-09-27
    c语言
  • c语言函数的递归调用方法是什么
    C语言函数的递归调用方法是指在函数内部调用自身的过程。递归调用函数可以让程序重复执行相同的操作,直到满足某个条件才停止。递归调用函数...
    99+
    2023-09-04
    c语言
  • c语言函数怎么调用数组参数
    在C语言中,可以通过将数组作为参数传递给函数来调用数组参数。有两种常见的方法可以将数组作为参数传递给函数: 使用数组名称作为参数:...
    99+
    2024-02-29
    c语言
  • go语言调用函数方法是什么
    在go语言中,定义了函数之后,我们可以通过“函数名()”的方式调用函数,语法“返回值变量列表 = 函数名(参数列表)”。当“()”中包含多个参数时,参数变量以逗号分隔,尾部无须以分号结尾;“返回值变量列表”中,多个返回值使用逗号分隔。本教程...
    99+
    2023-05-14
    Golang go语言 Go
  • C语言中的自定义类型是什么
    C语言中的自定义类型是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。结构大小我们先随便给出一个结构体,为了计算他的大小,我给出完整的打印方案:typedef st...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作