C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数

自定义函数分为四种

第一种:无参无返回值的

函数的声明

void sayH();

函数的实现

void sayH(){

  printf("你好");
}

第二种:有参数无返回值

函数的声明:

void pxsbx(int c,int k);

函数的实现:

void pxsbxx(int c,int k){
int i,j;
for (i=; i<c; i++) {
for (j=; j<=i; j++) {
printf(" ");
}
for (j=; j<k; j++) {
if (j==||j==k-||i==||i==c-) {
printf("*");
}else{
printf(" ");
} }
printf("\n");
} }

函数的调用

 int c,k;
printf("请输入长:");
scanf("%d",&c);
printf("请输入宽:");
scanf("%d",&k);
pxsbxx(c, k);

运行结果

3,有参数有返回值

声明:

int add1(int num1,int num2,int num3);

实现

int add1(int num1,int num2,int num3){
int sum=num1+num2+num3;
return sum; }

调用

 int num1,num2,num3,sum;
scanf("%d%d%d",&num1,&num2,&num3);
sum=add1(num1, num2,num3);
printf("%d",sum);

效果

第四种:有参数无返回值

声明

void add(int num1,int num2);

实现

void add(int num1,int num2)
{ int sum=num1+num2;
printf("%d\n",sum);
}

二,递归函数(两个简易的递归调用)

1,阶乘

函数的声明

int MyFun(int num);

函数的实现

int MyFun(int num){
// 普通函数
// int sum1=1;
// for (int i=1; i<=num; i++) {
// sum1*=i;
// }
// return sum1;
// 递归调用
if (num==||num==) {
return ;
}else {
return num*MyFun(num-); }
}

调用

printf("sum=%d\n",MyFun(6));

运行效果

2,菲波那切数列数列

函数的声明

int fbsnq(int num);

函数的实现

int fbsnq(int num){
// 递归
if(num==||num==){
return ;
}
return fbsnq(num-)+fbsnq(num-);
//普通
// int n1=1,n2=1,temp=0;
// if (num==1||num==2) {
// return 1;
// }
// int i=2;
// for(;i<num;i++){
// temp=n1+n2;
// n1=n2;
// n2=temp;
// }
// return temp;
}

函数的调用

    for (int i=; i<=; i++) {
if ((i-)%==) {
printf("\n");
}
printf("%10d", fbsnq(i));
} printf("\n\n");

运行结果

C语言中的自定义函数的更多相关文章

  1. Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数

    10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...

  2. 如何在C语言中调用Swift函数

    在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...

  3. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  4. C语言中返回字符串函数的四种实现方法

    转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...

  5. C语言中关于scanf函数的用法

    scanf()函数的控制串 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化 ...

  6. 【转载】 Sqlserver中查看自定义函数被哪些对象引用

    Sqlserver数据库中支持自定义函数,包含表值函数和标量值函数,表值函数一般返回多个数据行即数据集,而标量值函数一般返回一个值,在数据库的存储过程中可调用自定义函数,也可在该自定义函数中调用另一个 ...

  7. SparkSQL中的自定义函数UDF

    在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF( ...

  8. C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

  9. C语言中变量和函数的作用域和链接属性

    C语言中变量和函数的作用域和链接属性 作用域 代码块作用域: 代码块指的是使用"{}"包围起来的部分. 在代码块中定义的变量,代码块之外是不能访问的. 代码块嵌套之后的变量作用域, ...

随机推荐

  1. 笔记——Visual Studio 程序员箴言

    记录了一些感觉比较用得到的tips用于随时查看.要想看完整的的内容还是阅读<Visual Studio 程序员箴言>,不过有些内容我在新版本的VS里没能实现,或者有替代方案了. 避免意外复 ...

  2. label标签跳出循环

    出场: 首先我们来说说为什么需要label标签,虽然我们已经知道有break,continue跳出循环,但如果是多重循环那么它们就显的无能为力了,所以就出现了label这个标签来为我们服务. 我们先来 ...

  3. ruby -- 基础学习(四)TimeDate处理

     TimeDate格式化输出: DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s #就是按照2013-8-16 16:4 ...

  4. IOS开发UI基础UIImageView属性属性

    UIImageView属性 1.Image 设置图片,默认显示 UIImageView *_imageView = [[UIImageView alloc]init]; _imageView.imag ...

  5. 连续值的CART(分类回归树)原理和实现

    上一篇我们学习和实现了CART(分类回归树),不过主要是针对离散值的分类实现,下面我们来看下连续值的cart分类树如何实现 思考连续值和离散值的不同之处: 二分子树的时候不同:离散值需要求出最优的两个 ...

  6. BZOJ1015 并查集

    1015: [JSOI2008]星球大战star war Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了 ...

  7. [Architect] Abp 框架原理解析(3) DynamicFilters

    本节目录 介绍 定义Filter 设置Filter 这是Abp中多租户.软删除.激活\禁用等如此方便的原因 Install-Package EntityFramework.DynamicFilters ...

  8. C#如何获取CPU处理器核心数量

    有几条不同的处理器信息,您可以获得有关的信息:物理处理器数量.核心数量和逻辑处理器数量,这些可以不同.两颗双核超线程(启用)处理器的机器情况下有:2个物理处理器.4个核心和8个逻辑处理器. 逻辑处理器 ...

  9. [爬虫学习笔记]Url过滤模块UrlFilter

            Url Filter则是对提取出来的URL再进行一次筛选.不同的应用筛选的标准是不一样的,比如对于baidu/google的搜索,一般不进行筛选,但是对于垂直搜索或者定向抓取的应用,那 ...

  10. Repeater控件使用(含删除,分页功能)

    Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...