C语言学习篇

您所在的位置:网站首页 函数的嵌套调用c语言 C语言学习篇

C语言学习篇

2024-07-13 21:52| 来源: 网络整理| 查看: 265

说明:本文主要内容为C语言函数定义及使用,形参与实参的介绍,递归函数、嵌套函数的使用。

函数 函数 定义:一系列C语句的集合。 每个函数负责完成一部分的功能,函数将功能封装起来,以供程序调用。目的:将一些常用的功能封装起来,以备调用,方便代码重用,便于维护。步骤:确定函数名,确定函数体,调用。格式:返回值类型 函数名 (形式参数列表){ 函数体 }定义函数: 取一个有意义的函数名确定形参列表编写函数体返回值

示例:两个数中较大的数

#include // 求两个数中较大数的函数 int returnMax(int a, int b){ return a > b ? a : b; } int main() { printf("Two Numbers in the larger number is %d",returnMax(10,45)); return 0; } 参数

参数分为形式参数和实际参数。 1. 形式参数:定义函数时,函数后面括号内的参数。 2. 实际参数:调用函数时,传入的具体数据。 3. 注意:

形参和实参的个数必须相等。函数体内部不能定义和形参同名的变量。如果是基本的数据类型作为形参,则是纯粹的值传递,修改函数内部形参的值并不会影响到实参的值。一个函数可以没有形参,也可以有无限个形参。数据由实参传递给形参,具有单向传递性,不可逆。 函数的返回值

return 1. 作用:从被调函数返回到主调函数继续执行,返回时可以附带一个返回值,返回值由return后面的参数指定。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码)。 2. 返回值使用注意: ①. C语言是弱语法弱类型的语言,非常不严格。 ②. 如果没有写清楚返回值的类型,则默认为int型的。 ③. Void代表没有返回值。 ④. C语言默认情况下,不允许有两个同名的函数。

函数使用注意 默认不允许函数重名,计算机分辨不出来到底该调用哪一个。函数之间是平等的,不能够嵌套定义。(可以嵌套调用,不可以嵌套定义)函数不可以重复定义,但是可以重复声明,只要是在调用前声明就可以,地方随便。函数如果是只有声明没有定义,那么编译可以成功,但链接时会失败。函数如果在调用时,函数定义在调用之后,且前面没有进行相应的声明,则编译器报错。 函数分类 无参、无返回值 void hello(){ printf("hello world!\n"); } int main() { hello(); return 0; } 无参、有返回值 int peopleCount(){ return 20; } int main() { int a = peopleCount();//无参有返回值 printf("%d\n",a); return 0; } 有参、有返回值 int max(int a,int b){ return a > b ? a : b; } int main(int argc, const char * argv[]) { int a = max(20,30);//有参有返回值 printf("%d ",a); return 0; } 有参、无返回值 void number(int a){ printf("%d\n",a); } int main(int argc, const char * argv[]) { number(5);//有参无返回值 } 递归函数 递归函数:一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言函数可以递归调用。递归条件: 可以把要解决的问题转化为一个新问题,而这个新的问题的解决方法仍与原来的解决方法相同,只是所处理的对象有规律地递增或递减。可以应用这个转化过程使问题得到解决。必定要有一个明确的结束递归的条件,否则程序会崩溃。

直接递归:

示例:斐波那契数列

#include static long fibonacci(int n){ if(n==1||n==2) { return 1; }else { return fibonacci(n-2)+fibonacci(n-1); } } int main(){ int n,i; printf("Input n:"); scanf("%d",&n); for(i=1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3