求知 文章 文库 Lib 视频 iProcess 课程 角色 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 

C语言教程
C语言历史
C语言特点
C语言VS开发环境安装
C语言第一个程序
C语言程序执行流程
C语言printf()和scanf()函数
C语言变量
C语言数据类型
C语言关键字
C语言运算符
C语言注释
C语言转义序列
C语言常量
C语言控制语句
C语言if-else语句
C语言switch语句
C语言循环
C语言do-while循环
C语言while循环
C语言for循环
C语言break语句
C语言continue语句
C语言goto语句
C语言类型转换
C语言函数
C语言函数
C语言通过值和引用函数
C语言递归
C语言存储分类
C语言数组
C语言数组
C语言二维数组
C语言将数组传递给函数
C语言指针
C语言指针
C语言指针的指针
C语言指针算术运算
C语言字符串
C语言字符串
C语言gets()和puts()函数
C语言字符串函数
C语言strlen()函数
C语言strcpy()函数
C语言strcat()函数
C语言strcmp()函数
C语言strrev()函数
C语言strlwr()函数
C语言strupr()函数
结构联合体
C语言结构体
C语言结构体数组
C语言结构体嵌套
C语言联合体
文件处理
C语言文件处理
C语言fprintf()和fscanf()函数
C语言fputc()和fgetc()函数
C语言fputs()和fgets()函数
C语言fseek()函数
 
 

C语言函数
73 次浏览
1次  
 捐助

C语言中的函数在其他编程语言中也称为过程或子程序。要执行任务,我们可以创建函数。一个函数可以被多次调用。 它提供了模块化和代码可重用性。

C语言中函数的优点

函数有很多优点。它们分别如下 -

(1)代码可重用性

通过在CC语言中创建函数,开发人员可以多次调用它。 所以开发人员不需要一次又一次地编写相同的代码。

(2)代码优化

它使代码优化,我们不需要编写很多代码。

假设你要检查3个数字(781,883和531)是否是素数。如果不使用函数,需要编写3次计算素数逻辑。所以有重复的代码。

但是,如果您使用函数,则只需将计算的逻辑编写一次即可重复使用多次。

函数类型

C语言编程中有两种类型的函数:

库函数:是在C头文件中声明的函数,如:scanf(),printf(),gets(),puts(),ceil(),floor()等。用户定义的函数:是由C程序员自己创建的函数,以便他/她可以使用它多次。 它可以降低大型程序的复杂性并优化代码。

函数声明

C语言中创建函数的语法如下:

return_type function_name(data_type parameter...){
//code to be executed
}

返回值

C语言函数可以返回或不返回该函数的值。如果您不需要从函数返回任何值,请对返回类型使用void。

我们来看一个C语言函数的简单示例,它不会从函数返回任何值。

没有返回值的示例:

void hello(){
printf("hello c");// 没有返回值,只是打印一个字符串
}

如果要从函数返回返回某个/些值,则需要使用任何数据类型,如:int,long,char等。返回类型取决于要从函数返回的值。

我们来看一个C语言函数的简单例子,它从函数返回int值。

返回值示例:

int get(){
return 10;
}

在上面的例子中,我们必须返回10作为一个值,所以返回类型是int。 如果要返回浮点值(例如10.2,3.1,54.5等),则需要指定使用float作为函数的返回类型。如下所示 -

float get(){
return 10.2;
}

现在,需要来了解如何调用函数,获取函数的返回值。

C语言函数可能有0个或更多个参数。可以在C程序中具有任何类型的参数,如:int,float,char等。参数也称为形式参数。

没有使用参数的函数示例:

void hello(){
printf("hello c");
}

具有1个参数的函数示例:

int cube(int n){
return n*n*n;
}

具有2个参数的函数示例:

int add(int a, int b){
return a+b;
}

在C语言中调用函数

如果函数返回任何值,则需要调用函数来获取函数返回的值。 在C语言中调用函数的语法如下:

variable=function_name(arguments...);

(1)variable:变量不是强制性的。如果函数返回类型为void,则不能提供变量来接收函数返回的值,因为void函数不返回任何值。(2)function_name:function_name是要调用的函数的名称。(3)arguments:调用C语言函数时需要提供参数。它也被称为实际参数(简称:实参)。

调用函数的例子:

hello(); //calls function that doesn't return a value
int value=get(); //calls function that returns value
int value2=add(10,20); //calls parameterized function by passing 2 values

函数示例

1. 没有return语句的函数示例

下面来看看看C语言函数的简单程序,它不从函数返回任何值。创建一个名称为:function的工程,并在这个工程里创建一个源文件:function-without-params.c,其代码如下所示 -

#include <stdio.h>
#include <conio.h>
//定义一个无参数函数,简单地打印一个字符串
void hello() {
printf("hello c programming");
}
void main() {
hello(); // 调用函数
hello(); // 再一次调用函数
hello(); // 再一次调用函数
}

执行上面示例代码,得到以下结果 -

hello c programming
hello c programming
hello c programming

2. 带有return语句的C函数示例

我们来看看C语言中一个带有参数的函数程序。

创建一个源文件:function-with-params.c,其代码如下所示 -

#include <stdio.h>
// 定义一函数,返回给定参数值的立方值
int cube(int n) {
return n*n*n;
}
// 定义一函数,返回给定两个参数值的最大值
int max(int a, int b) {
if (a > b) {
return a;
}else {
return b;
}
}
void main() {
int result1 = 0, result2 = 0;
int a = 10, b = 20, c = 0;
result1 = cube(2); // 调用函数
result2 = cube(5);
c = max(a, b); //
printf("the cube of 2 is : %d \n", result1);
printf("the cube of 5 is : %d \n", result2);
printf("the max value of %d and %d is :%d \n", a, b, c);
}

执行上面示例代码,得到以下结果 -

the cube of 2 is : 8
the cube of 5 is : 125
the max value of 10 and 20 is :20


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



73 次浏览
1次
 捐助
 

每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号