首页 > 其他分享 >chap 5函数与递归 总结

chap 5函数与递归 总结

时间:2022-10-26 19:44:56浏览次数:54  
标签:调用 函数 递归 int 自定义 chap 定义

chap 5函数与递归 学习总结

一、函数的类型

函数分为库函数和自定义函数。

库函数是在编程过程中可以直接使用的函数。

例如:

而自义定函数则是由我们自己定义其功能并调用的函数。这也是我们主要学习的重点内容。

二、自定义函数的组成

那么自定义函数是用什么函数组成的呢?

 

函数的组成有函数名、函数类型、函数参数、函数返回值(void类型函数可以没有返回值)

例如:当定义一个函数来求一定范围内素数和时,可以定义这样的函数:

 

三、函数的调用:

定义好一个函数后,我们应该如何去使用这个函数呢?

同样以判断素数为例:

当我们定义好判断素数的函数后,只需要进行如下操作,便可以使用我们定义的函数去得到我们想要的结果了:

完整代码如下:

#include <stdio.h>

int is( int number );
void count_sum( int a, int b );

int main()
{
    int a, b;

    scanf("%d %d", &a, &b);
    if (is(a)) printf("%d is counted.\n", a);
    if (is(b)) printf("%d is counted.\n", b);
    count_sum(a, b);

    return 0;
}
int prime(int p)
{
    int ret=1;
    if(p>1){
        for(int i=2;i<p;i++){
            if(p%i==0){
                ret=0;
                break;
            }
        }
    }else{
        ret=0;
    }
    return ret;
}
int PrimeSum(int m,int n)
{
    int sum=0;
    for(int i=m;i<=n;i++){
        if(prime(i)){
            sum+=i;
        }
    }
    return sum;
}

  四、函数的递归:

什么是函数递归呢?

一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。

递归的两个必要条件:

(1)、存在限制条件,当满足这个限制条件的时候,递归便不在继续。

(2)、每次递归调用之后越来越接近这个限制条件。

标签:调用,函数,递归,int,自定义,chap,定义
From: https://www.cnblogs.com/jmuda/p/16829778.html

相关文章

  • 求n的阶乘(函数)
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intFac(intn){ inti=0; intret=1; for(i=1;i<=n;i++) { ret*=i; } returnret;}intm......
  • 递归求阶乘
    intFac(intn){ if(n<=1) return1; else returnn*Fac(n-1);}           //括号里放的是方法(要循环的)(个人理解)intmain(){ in......
  • python numpy 基础科学计算包,数学函数库
    pipinstallnumpynumpy.array()函数,强大的N维数组对象ndarrayimportnumpyasnpa=np.array([1,2,3])print(a)[123]#多于一个维度importnumpyasnpa......
  • python 回调函数
    回调函数:回头调用一下 把函数当成一个参数传递给另外一个函数 在当前函数执行完毕之后,最后调用一下当参数传递进来的函数 add_done_callback(回调函数)功能: 支付状态......
  • 递归求字符串长度
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmy_strlen(char*st){  if(*st!='\0') {  return1+my_strlen(st+1); } else return0;}......
  • 自定义函数求字符串长度
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmy_strlen(char*st){ intcount=0; while(*st!='\0') {  count++; *st++; } returncount......
  • STL函数之全排列next_permutation
    题目描述牛牛的作业薄上有一个长度为n的排列A,这个排列包含了从1到n的n个数,但是因为一些原因,其中有一些位置(不超过10个)看不清了,但是牛牛记得这个数列顺序对的数量是k,顺......
  • 递归(要有限制条件)
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>voidprint(intn){ if(n>9) { print(n/10); } printf("%d",n%10);}intmain(){ unsignedint......
  • memset函数
    intmain(){chararr[]="helloworld";memset(arr,'*',5);printf("%s\n",arr);//*****worldreturn0;}......
  • N皇后问题--解法一(递归遍历斜线)
    importjava.util.*;importjava.math.*;publicclassSolution{TreeSet<Integer>ready=newTreeSet<Integer>();HashSet<Integer>res=newHashSet<......