iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言超全面讲解函数的使用方法上
  • 554
分享到

C语言超全面讲解函数的使用方法上

2024-04-02 19:04:59 554人浏览 泡泡鱼
摘要

目录一、函数的分类1.库函数2.自定义函数3.库函数的分类二、函数调用1.传值调用2.传址调用三、函数的声明四、函数定义 五、函数的参数1.形式参数(形参)2.实际参数(实

C语言超全面讲解函数的使用方法下

一、函数的分类

1.库函数

库函数是C语言基础库为了方便程序员进行软件开发而提供了一系列的函数,可以支持可移植性和提高程序的效率。

⚠️ 注意:库函数需要引头文件。

例如:strlen函数的头文件是<string.h>

2.自定义函数

自定义函数和库函数一样,有函数名、返回值类型和函数参数。但是不一样的是,这些都是我们自己来设计,这给程序员一个很大的发挥空间 

⚠️注意:这个函数是在库函数之外的,是不需要引头文件的。

3.库函数的分类

  • io函数 : printf 、scanf 、getchar、putchar
  •  字符串操作函数 :strcmp、strlen
  • 字符操作函数:toupper
  •  内存操作函数:memcpy、memcmp、memcet
  • 时间/日期函数:time
  • 数学函数:sqrt、pow
  • 其他库函数

二、函数调用

1.传值调用

函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参

#include<stdio.h>
void swap(int x, int y)
{
	int z = 0;
	z = x;
	x = y;
	y = z;
}
int main()
{
	int a = 10;
	int b = 20;
	printf("交换前=%d %d\n", a, b);
	swap(a, b);
	printf("交换后=%d %d\n", a, b);
	return 0;
}

  

2.传址调用

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

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

定义指针变量,以通过访问地址的方式来交换a和b的值。

函数定义部分的参数接收到的是变量a和变量b的地址,并通过地址来改变他们两个的值。

#include<stdio.h>
void swap(int * pa, int * pb )
{
	int z = 0;
	z = *pa;
	*pa = *pb;
	*pb = z;
}
int main()
{
	int a = 10;
	int b = 20;
	printf("交换前=%d %d\n", a, b);
	swap(&a, &b);
	printf("交换后=%d %d\n", a, b);
	return 0;
}

三、函数的声明

告诉编译器有一个函数,参数是什么?返回类型什么?但是具体是不是存在无关紧要。

函数的声明一般出现在函数的使用之前,要满足先声明后使用。

函数的声明一般要放在头文件中。 

对函数声明 

#include<stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    //函数的声明 - 告知
    int Add(int, int);
    int c = Add(a, b);
    printf("%d\n", c);
    return 0;
}
//函数的定义
int Add(int x, int y)
{
    return x + y;
}

四、函数定义 

函数的定义是指函数的具体实现,交代函数的功能实现 。

定义是一种更强有力的声明

#include<stdio.h>
int add(int a, int b)//函数定义
{
	return a + b;//返回a + b的值
}
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = add(a, b);//函数调用 - 计算a + b的值
	printf("%d\n", c);
	return 0;
}

五、函数的参数

1.形式参数(形参)

函数定义部分的参数是形参

2.实际参数(实参)

函数调用部分的参数是实参

六、函数的练习

1.用函数求两个整数的较大值

难易程度:⭐

#include<stdio.h>
//求最大值 - 函数定义 - 传参
int get_max(int score_one, int score_two)//函数形参
{
	//如果score_one大于score_two就返回一个score_one的值
	//否则就返回score_two的值
	//返回的值即为最大值
	return score_one > score_two ? score_one : score_two;
}
int main()
{
	int score_one = 0;
	int score_two = 0;
	scanf("%d %d", &score_one, &score_two);
	//求最大值函数 - 调用 - 并传参
	int max = get_max(score_one, score_two);//函数实参
	printf("max=%d\n", max);
	return 0;
}

2.用函数打印100~200之间的素数

难易程度:⭐⭐

素数又叫质数,质数是指在大于1的自然数中,除了1和它本身以外,不能被其他自然数整除的数。

#include<stdio.h>
int is_prime(int i)
{
	int j = 0;
	for (j = 2; j < i; j++)//产生除了1和它本身的自然数
	{
		//拿i试除除了1和它本身的自然数
		if (i % j == 0)//整除进入语句
		{
			return 0;//返回0
		}
	}
	//i与所有除了1和它本身的自然数试除之后,返回的值就是素数
	return 1;//返回1,就是返回素数的值
}
int main()
{
	int i = 0;
	int count = 0;//统计素数的个数
	for (i = 100; i <= 200; i++)//产生100-200之间的数字
	{
		if (is_prime(i) == 1)//如果返回值等于1就进入语句
		{
			//打印的i就是素数
			printf("%d ", i);
			count++;//每一次打印i,count++
		}
	}
	printf("\ncount = %d\n", count);
	return 0;
}

3.用函数打印1000~2000之间的闰年

⚠️ 注意   

  • 能被4整除,并且不能被100整除
  • 能被400整除

难易程度:⭐⭐

#include<stdio.h>
int is_leap_year(int n)//打印1000-2000素数的实现
{
    if (n % 4 == 0 && n % 100 != 0)//如果能被4整除,并且不能被100整除就进入语句
    {
        return 1;//返回1就是返回素数
    }
    else if (n % 400 == 0)//如果能被400整除就进入语句
    {
        return 1;//返回1就是返回素数
    }
    else
    {
        return 0;//返回0就不是素数
    }
}
int main()
{
    int i;
    int count = 0;//统计闰年的个数
    for (i = 1000; i <= 2000; i++)//产生1000-2000之间的数
    {
        if (is_leap_year(i) == 1)//如果返回的值等于1就进入语句
        {
            printf("%d ", i);//打印i就是打印闰年
            count++;//闰年的个数++
        }
    }
    printf("\ncount = %d\n", count);
    return 0;
}

码字不易,还请多多点赞支持呀!

有了你们的的点赞和关注我将会写出更加优秀的文章。

到此这篇关于C语言超全面讲解函数的使用方法的文章就介绍到这了,更多相关C语言函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言超全面讲解函数的使用方法上

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么计算字符串长度
    在C语言中,可以使用内置的strlen()函数来计算字符串的长度。该函数位于string.h头文件中。以下是一个示例代码: #inc...
    99+
    2024-05-14
    c语言
  • c语言怎么判断三个数的大小
    可以通过比较三个数之间的大小关系来判断它们的大小。以下是一个示例代码: #include <stdio.h> int ...
    99+
    2024-05-14
    c语言
  • c++排序函数sort怎么使用
    在C++中,使用sort函数对容器中的元素进行排序,可以按照默认的升序排列,也可以自定义排序规则。 下面是一个简单的例子,对一个ve...
    99+
    2024-05-14
    c++
  • c++中string的compare函数怎么使用
    在C++中,可以使用string的compare函数来比较两个string对象的大小。该函数的原型如下: int compare(c...
    99+
    2024-05-14
    c++
  • c++中string的compare函数有什么用
    c++中string的compare函数用于比较两个字符串的大小关系。该函数返回一个整数值,表示两个字符串的比较结果。 具体来说,如...
    99+
    2024-05-14
    c++
  • c++中print函数的功能有哪些
    在C++中,通常使用std::cout来进行输出操作,而不是使用print函数。std::cout是C++标准库中的一个输出流对象,...
    99+
    2024-05-14
    c++
  • c语言数据结构怎么使用
    在C语言中,数据结构可以通过定义结构体来实现。以下是一些常见的数据结构的使用方法示例: 链表: #include <std...
    99+
    2024-05-14
    c语言
  • c++中print函数的用法是什么
    在C++中没有内置的print函数,但可以使用cout来输出内容到控制台。cout是C++标准库中的一个输出流对象,可以使用<...
    99+
    2024-05-14
    c++
  • c++中concept的用法是什么
    在C++20中,Concept是一种新的语言特性,用于定义类型要求和约束。Concept可以被用来约束函数模板、类模板和普通函数的参...
    99+
    2024-05-14
    c++
  • c++中concept的作用是什么
    在C++中,concept的作用是定义一种通用的约束,用于限制模板参数的类型范围。通过使用concept,可以在编译时对模板参数进行...
    99+
    2024-05-14
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作