当前位置: 首页 > news >正文

扬州市规划建设局网站西安网络推广运营公司

扬州市规划建设局网站,西安网络推广运营公司,深圳市宝安区松岗邮政编码,新站突然网站停止收录函数 函数是指将一组能完成一个功能或多个功能的语句放在一起的代码结构。在C语言程序中,至少会包含一个函数,主函数main()。本章将详细讲解关于函数的相关内容。 1、库函数 ⭕️C语言库函数是指在C语言标准库中预先定义好的函数,这些函数包…

函数

函数是指将一组能完成一个功能或多个功能的语句放在一起的代码结构。在C语言程序中,至少会包含一个函数,主函数main()。本章将详细讲解关于函数的相关内容。

1、库函数


⭕️C语言库函数是指在C语言标准库中预先定义好的函数,这些函数包含在相应的头文件里,每个函数都有其函数名、返回值类型和函数参数;这些函数用于执行常见的任务,例如输入输出、字符串处理、内存操作等。

⭕️C语言标准库是一组标准化的函数和工具,旨在为C语言程序员提供基本的编程支持。库函数通常以源代码形式或预编译形式提供,可以直接在C程序中使用,而无需从零开始编写这些功能的代码;以下情况使用的函数都属于库函数:

🔶比如我们想把程序结果打印到屏幕上看看,会频繁的使用一个功能:将信息按照一定的格式打印到屏幕上(printf)。

🔶在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)。

🔶在编程是我们也计算,总是会计算n的k次方这样的运算(pow)。 

#include <stdio.h>

2、自定义函数

❓如果库函数能干所有的事情,那还要程序员干什么?

⭕️所以更加重要的是自定义函数;自定义函数和库函数一样,有函数名,返回值类型和函数参数,但是与库函数不一样的是这些都是我们自己来设计,这就给程序员了一个很大的发挥空间。

👉我们来看一个自定义的函数实现找出两个整数中的最大值:

#include <stdio.h>
//get_max函数的设计int get_max(int x, int y)
{return (x>y)?(x):(y);
}int main()
{int num1 = 10;int num2 = 20;int max = get_max(num1, num2);printf("max = %d\n", max);return 0;
}

3、函数的组成 


👉一个C语言函数通常由以下几个部分组成:

💠返回类型:指定函数返回的数据类型。如果函数不返回任何值,则使用 void 。

💠函数名:函数的名称,用于调用该函数。

💠参数列表:一组定义在圆括号内的参数,用于接受调用者传递给函数的数据。参数可以是多种数据类型,甚至是其他函数。

💠函数体:包含在花括号 { } 中的代码块,这里包含了函数执行的具体逻辑。

⭕️其中返回类型指定了函数执行完毕后返回的数据类型,可以是整型、字符型、等,如果函数不返回任何值,则使用 void。例如,int 表示函数返回一个整数,void 表示函数不返回任何值。

⭕️函数名是函数的标识符,用于在程序中调用该函数。我们在写函数时,函数名应该清晰地反映函数的目的或行为。

看看会输出什么?

#include <stdio.h>
void add(int x) {x++;
}
int main() {int x = 10;add(x);printf("%d", x);return 0;
}
#include <stdio.h>
int add(int x) {x++;return x;
}
int main() {int x = 10;x=add(x);printf("%d", x);return 0;
}

函数递归 

1、什么是递归?

程序调用自身的编程技巧称为递归( recursion);函数递归是指函数在执行过程中调用自身的一种技术。

2、递归的限制条件

递归在书写的时候,有2个必要条件:

  • 递归存在限制条件,当满足这个限制条件的时候,递归便不再继续。
  • 每次递归调用之后 越来越接近这个限制条件。

看看会输出什么?(根据代码理解上面两句话)

#include <stdio.h>
void digui() {printf("Hello World\n");digui();
}
int main() {digui();return 0;
}

 没有递归结束条件(无限循环)X

#include <stdio.h>
void digui(int x) {if (x == 0) {return;}printf("Hello World\n");digui(--x);return;
}
int main() {digui(3);return 0;
}

有结束条件且每次递归调用之后 越来越接近这个限制条件 

3、递归举例

阶乘

递归实现的过程

将5的阶乘分成4的阶乘乘5;
将4的阶乘分成3的阶乘乘4;
将3的阶乘分成2的阶乘乘3;
将2的阶乘分成1的阶乘乘2;

这样的思路就是把⼀个较大的问题,转换为⼀个与原问题相似,但规模较小的问题来求解的。直到n是1或者0时,不再拆解
最终将n的阶乘就写成n*(n-1)!
直到n是1或者0时,不再拆解

如果将阶乘写成一个函数Fact(n),
那么Fact(n)=n*Fact(n-1)

再稍微分析一下,当 n<=1 的时候,n的阶乘是1,其余n的阶乘都是可以通过上述公式计算。
n的阶乘的递归公式如下:

 运行代码

#include <stdio.h>
int Fact(int n)
{if (n <= 0)return 1;elsereturn n * Fact(n - 1);
}int main()
{int n = 0;scanf("%d", &n);int ret = Fact(n);printf("%d\n", ret);return 0;
}

斐波那契数列

 在数学上,斐波那契数是以递归的方法来定义:
 令F0 = 0; F1 = 1; 则Fn = F(n - 1) + F(n - 2),其中n ≥2。即——从数列的第三项开始,每一项的值等于前面两项之和,称为斐波那契数列。斐波那契数列的前几项如下所示 : 

  PS : 0不是第一项,而是第零项,斐波那契数列在文本上从1开始。 

 

思路 : 
         设n代表斐波那契数列的第n项,当n等于1或者等于2时,可以直接返回1;当n大于2时,要想求出斐波纳契数列的第n项,必须知道它前面的两项分别是多少,而要想知道它前面的两项分别是多少,就又得知道这两项再分别往前的两项是多少,依次递归下去,直到n == 1或者n == 2的情况时,return 1;接着再逐层返回,回到你想求出的第n项。
 

代码如下

#include <stdio.h>
int fei(int x) {if (x <= 2) {return 1;}else {return fei(x - 1) + fei(x - 2);}
}
int main() {int n;scanf("%d", &n);int ans=fei(n);printf("%d", ans);return 0;
}

最后提出疑问

输入一个数值n,输出1-n数字的全排列

例如 n=3

全排列为

1 2 3

1 3 2

2 1 3 

2 3 1

3 1 2

3 2 1

http://www.hkea.cn/news/951731/

相关文章:

  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案
  • 做网站的基础架构东莞seo建站公司
  • 嘉兴做网站的哪家好龙岗网站制作
  • 论坛做网站好吗百度官方网页
  • 微信开发者工具获取系统日期seo优化一般包括
  • 怎么用文本做网站百度排行榜风云榜
  • 未来网站开发需求多搜索网站有哪几个
  • 网站建设 成都郑州高端网站制作
  • 快站怎么做淘客网站深圳关键词
  • 做网站时如何去掉网站横条小红书软文案例
  • 图虫南宁百度快速排名优化
  • 上城网站建设app推广文案
  • 网站建设特点宁波seo搜索引擎优化公司
  • 地产商网站建设网球新闻最新消息
  • 做爰全过程网站免费的视频谷歌seo搜索引擎
  • 怎么架设网站seo推广培训
  • 自己网站做问卷调查网页设计学生作业模板
  • 清远企业网站排名深圳网站建设系统
  • 互助平台网站建设费用卡点视频免费制作软件
  • 上海做b2b国际网站公司排名优化公司电话
  • 裙晖wordpress重庆seo整站优化
  • 乌克兰网站后缀谷歌浏览器下载电脑版
  • 建设部网站撤销注册资质的都是公职人员吗正规网络公司关键词排名优化
  • 杂志网站建设推广方案铜川网络推广