C语言中的自定义函数

  • 格式:pdf
  • 大小:63.47 KB
  • 文档页数:3

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

for (j=0; j<=i; j++) {

printf(" ");

}

for (j=0; 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

// 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");

运⾏结果