抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 函数的返回值可以不用赋值_C语言学习|函数的应用《一》

函数的返回值可以不用赋值_C语言学习|函数的应用《一》

时间:2023-11-30 07:38:21

相关推荐

C语言为程序的结构提供了函数和模块

一、函数的定义与使用

《编程之道》中写道:“一个程序应该是灵活自由的、它的子过程就像串在一根线子上的珍珠。”子过程在C语言中被称为”函数“。程序的执行从主函数开始,往复、循环、迭代地调用一个又一个函数。

函数的分类

1.库函数

printf()、scanf()等都是ANSIC标准的库函数。任何ANSI C的编译器,无论在什么的平台,都必须提供这些函数供用户使用。仅调用ANSI C库函数的程序,具有很好的移植性,能在多种平台上编译运行。还有数量巨大的第三方函数库,完成ANSIC中不包括而又是程序设计需要的功能,例如:微积分运算,数据库和图形界面等。

2.自定义函数

定义一个函数我们需要确定三部分内容:

1.函数的返回值类型

2.函数的名称

3.函数的参数

注:函数名的命名是函数的唯一标识,它的命名规则与变量没什么不同的。

函数定义的语法结构如下:

返回值类型 函数名(类型参数1,类型 参数2)

{

局部变量定义语句

可执行语句序列

}

例子:比较两个整数大小的函数

intMin(int a,int b)

{

int result=(x>y)?y:x;

return result;

}

这里定义名为Min的函数。它有两个参数,返回值和参数的类型均为int,函数的作用是比较两个整数那整数小。此例并非一个可运行的程序。有main()函数的程序才能运行;函数必须main()直接或间接调用才能发挥作用。

二、函数的调用、参数、参数传递和返回值

main()函数调用其他函数可以想象成给员工分配任务。

调用函数的实例如下:

比较两个整数的大小程序;

#include<stdio.h>intmax(inti,intt){intresult;result=i>t?i:t;returnresult; }intmain(){ inta=36; intb=72; intlarger; larger=max(a,b); printf("%d",larger); return0; }

程序运行结果

72

在主函数中变量a和b的值作为参数提供给了max()。这时开始执行max(),且把a与b的值分别复制给了max函数定义的i和t,这个过程就是参数传递。max函数内接收的数据的参数(即i和t)叫形式参数,简称形参;调用者提供的参数(主函数的a和b这两个参数)叫实际参数;简称实参。

实参的数据必须与形参的数据相等,它们的类型必须匹配(匹配的原则与变量赋值的原则一致)。形参相当于在函数内定义的变量,也可以被赋值。实参与形参有各自的存储空间,所以形参值得改变不会影响实参。

一个函数可以定义的形参并无明确的数量限制,用户可以按照需要随意定义。

参数的类型也没有限制,任何可用类型均能使用,不同参数可以是不同的类型。例如

intfun(inta,floatb,charc){…}

这样子写是合法的。

也可以定义没有参数的函数,这种函数不需要调用者提供任何数据,例子

intfunc(void){…}

三、主函数main()的特殊性

C语言在设计中注重一致性。

1.一致性体现在各个函数都是平等的,没有主从之分,可以随意相互调用,每个函数都可以调用其他的函数,其他函数也可以在调用其他函数。函数也可以调用自己,被称为”递归函数“;

2.一致性体现在定义各种函数的语法都遵守共同的语法规则。

尽管main函数也有返回值,但是有时在定义main()时,可以不指明其返回值类型,没有参数也可以不用void。这种用法是符合C语言语法,任何函数也都可以如此定义。

关注更多C语言学习|函数的应用《二》

如果觉得《函数的返回值可以不用赋值_C语言学习|函数的应用《一》》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。