C语言中的自定义函数

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

自定义函数分为四种

第一种:无参无返回值的

函数的声明

void sayH();

函数的实现

void sayH(){

  printf("你好");
}

第二种:有参数无返回值

函数的声明:

void pxsbx(int c,int k);

函数的实现:

void pxsbxx(int c,int k){
    int i,j;
    for (i=0; i<c; i++) {
        for (j=0; j<=i; j++) {
            printf(" ");
        }
        for (j=0; j<k; j++) {
            if (j==0||j==k-1||i==0||i==c-1) {
                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==1||num==0) {
        return 1;
    }else {
        return num*MyFun(num-1);

    }
}

调用

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

运行效果

2,菲波那切数列数列

函数的声明

int fbsnq(int num);

函数的实现

int fbsnq(int num){
   // 递归
    if(num==1||num==2){
        return 1;
    }
    return fbsnq(num-1)+fbsnq(num-2);
    //普通
//    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=1; i<=30; i++) {
        if ((i-1)%5==0) {
            printf("\n");
        }
            printf("%10d",  fbsnq(i));
    }

    printf("\n\n");
  

运行结果

时间: 2024-12-28 19:10:22

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

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

在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中使用Objective-C中的类.在后半部分也介绍了如何在Swift中使用C函数,不过对于如何在C语言中使用Swift函数却只字未提.这里我就为大家分享一下如何在C语言中调用Swift函数. 我们首先要知道的是,所有Swift函数都属于闭包.其次,Swift函数的调用约定与Apple为Clang编译器贡献的B

Smarty中的自定义函数(二)复选框、下拉列表、单选框

接Smarty中的自定义函数(一) 7.html_checkboxes 复选框 [php] view plain copy print? $ssss1 = array(2,3,4); $ssss2 = array('学习','工作','生活'); $ssss3 = array(2,4); $smarty->assign('ssss1',$ssss1); $smarty->assign('ssss2',$ssss2); $smarty->assign('ssss3',$ssss3); $s

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

scanf()函数的控制串 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息.可以读入任何固有类型的数据并自动把数值变换成适当的机内格式. 其调用格式为: scanf("<格式化字符串>",<地址表>); scanf()函数返回成功赋值的数据项数,出错时则返回EOF. 其控制串由三类字符构成

R语言中的循环函数(Grouping Function)

R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是对一个Matrix或者Array进行某个维度的运算.其格式是: Apply(数据,维度Index,运算函数,函数的参数) 对于Matrix来说,其维度值为2,第二个参数维度Index中,1表示按行运算,2表示按列运算.下面举一个例子: m<-matrix(1:6,2,3) 构建一个简单的2行3列的矩

C语言中的回调函数(Callback Function)

1 定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数.函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数.简单来说,就是由别人的函数运行期间来回调你实现的函数. 这一设计允许了底层代码调用在高层定义的子程序(如图1-1所示).C语言中回调函数主要通过函数指针的方式实现. 图1-1 回调函数在软件系统的调用结果 回调的用途十

在SQL中使用自定义函数

  由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉.当然我可以通过写一个程序去修改,那毕竟有点麻烦.直接在查询分析器中执行,但是MS SQL Server并没有提供正则表达式,替换html标签可不那么容易.我们可以通过CLR托管来实现一个通过正则表达式来替换html标签的自定义函数.(注:SQL CLR只能在MS SQL Server 2005或以上版本中适用) 第一步:通过Visual Studio 2008新建一个SQL Server项目 第二步:

Thinkphp模板中使用自定义函数的方法

注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### } 说明: { 和 $ 符号之间不能有空格,后面参数的空格就没有问题: ###表示模板变量本身的参数位置 : 支持多个函数,函数之间支持空格 : 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 : 支持变量缓存功能,重复变量字串不多次解析. 使用例子: {$webTitle|md5|st

Shell脚本中的自定义函数

在写程序时,经常会用到函数,一般开发工具拥有丰富的函数库.但有时还需要根据自己的需要自定义函数满足我们的需求. 在linux中,写shell脚本也一样,有时会用到自定义函数. 函数,最简单的定义为:将一组命令集或语句形成一个可用块,这些块称为函数. 1.定义函数的格式: function-name ( ){ command1 ........ } 或 #函数名前面也可以加上function关键字 function function-name( ) { command1 ........ } 2.

【StiReport】在设计器中增加自定义函数

1.创建一个自定义函数 namespace Winform { public class methos { public static string 小数转换成中文(decimal 小数) { return "321"; } } } 2.将函数注册到StiReport中 StiFunctions.AddFunction("自定义函数", "小数转换成中文", "小数转换成中文", "小数转换成中文", ty