首页后端开发ASP.NETC语言函数基础知识有哪些?

C语言函数基础知识有哪些?

时间2024-01-31 16:41:03发布访客分类ASP.NET浏览1116
导读:收集整理的这篇文章主要介绍了C语言函数基础知识有哪些?,觉得挺不错的,现在分享给大家,也给大家做个参考。c语言函数基础知识有哪些?C语言函数基础知识有:一、定义、声明和调用函数:一段可以重复使用的代码函数三要素:返回值 函数名 函数形参列表...
收集整理的这篇文章主要介绍了C语言函数基础知识有哪些?,觉得挺不错的,现在分享给大家,也给大家做个参考。

c语言函数基础知识有哪些?

C语言函数基础知识有:

一、定义、声明和调用

函数:一段可以重复使用的代码
函数三要素:返回值 函数名 函数形参列表
函数声明:包含函数的三要素
函数定义:函数的具体实现
返回值:如果一个函数没有返回值,则写成 void
函数形参列表:如果没有参数,写成空 ,变量之间用逗号隔开

二、函数声明:

函数声明时,形参可以不加变量名,只有类型也可以

int add(int, int);
    


三、函数定义:

函数定义时,形参可以必须要有变量名

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


四、函数调用 :

如果函数定义在主函数上方,可以不写函数声明。

如果函数定义在主函数下方,必须在主函数上方写好声明

int main(){
    int a = 10;
    int b = 20;
    // 函数调用的时候,传的参数叫实参int sum= add(a, b);
    PRintf (“sum = %d\n”, sum);
    return 0;
}
    


五、函数名

函数名是函数的入口地址

定义一个函数指针:

int (*p)(int a.int b) =add;
    

六、递归函数

一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。

用递归计算 n!。阶乘 n! 的计算公式如下:

根据公式编程:

long factorial(int n){
    long result;
if(n ==0 || n ==1){
    result = 1;
}
else{
    result = factorial(n-1) * n;
 // 递归调用}
    return result;
}
    

这是一个典型的递归函数。调用factorial后即进入函数体,只有当 n== 0 或 n==1 时函数才会执行结束,否则就一直调用它自身。

由于每次调用的实参为 n-1,即把 n-1 的值赋给形参 n,所以每次递归实参的值都减 1,直到最后 n-1 的值为 1 时再作递归调用,形参 n 的值也为1,递归就终止了,会逐层退出。

例如求 5!,即调用factorial(5)。当进入factorial函数体后,由于 n=5,不等于0或1,所以执行result = factorial(n-1) * n; ,即result = factorial(5-1) * 5; ,接下来也就是调用factorial(4)。这是第一次递归。

进行四次递归调用后,实参的值为 1,也就是调用factorial(1)。这时递归就结束了,开始逐层返回。factorial(1) 的值为 1,factorial(2) 的值为 12=2,factorial(3) 的值为 23=6,factorial(4) 的值为 64=24,最后返回值 factorial(5) 为 245=120。

注意:

1.为了防止递归调用无终止地进行,必须在函数内有终止递归调用的手段。常用的办法是加条件判断,满足某种条件后就不再作递归调用,然后逐层返回。

2.递归调用不但难于理解,而且开销很大,如非必要,不推荐使用递归。很多递归调用可以用迭代(循环)来代替。

推荐教程:《C视频教程》

以上就是C语言函数基础知识有哪些?的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: C语言中&是什么意思?下一篇:数组指针的用法有哪些?猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: C语言函数基础知识有哪些?
本文地址: https://pptw.com/jishu/594213.html
原生js实现自定义难度的扫雷游戏 js简单粗暴的发布订阅示例代码

游客 回复需填写必要信息