iOS函数,函数递归

#import <Foundation/Foundation.h>
#import "Function.h"
int main(int argc, const char * argv[]) {
//函数定义
    /*返回值类型  函数名(参数1, 参数2, 参数3, 参数4)
     {
     函数体;
     return 返回值;
     }
    */
    //函数四种基本类型:
    //无参无返回值
    //实参 到形参的过程是一个拷贝的过程
    //函数的值,要哟过对应的数据类型进行接收
    //c语言允许函数嵌套调用,不允许函数嵌套定义
//    sayHello();
//    goSwiming();
//    goGetRoom(60);
//    printf("警察罚了我%d元钱\n",police());
//    printf("找你%d元钱\n",over(800));
//    //print(100);
//    printf("和为%d",sum(1, 100));
//    int a[3] = {2,5,3};
//    printf("最大%d",maxCompild3(a,3));
//    printf("最大值:%d",maxThreeValue(2,5,7));
//    int array[5] = {0};
//    //计算数组所占的字节
//    int count = sizeof(array) / sizeof(int);
//    printf("数组元素个数:%d\n",count);
//    setValueForArray(array, count);
//    printfArray(array, count);
//    printf("\nSum = %d",sumArray(array, count));
    //变量作用域:全局变量,局部变量,静态变量
    //全局变量:定义在函数外的叫全局变量,全局变量比较危险,使用需谨慎
    //局部变量:定义在函数内的叫局部变量
    //静态变量: 由static 关键字修饰的变量,就是静态变量.
    //特点:1.只初始化一次
    //2如果没有赋初值,默认为0
    //static int  sum1 = 0;

//    for (int i = 0; i < 64; i++) {
//        static int sum1 = 0;
//        sum1 += i;
//        printf("sum = %d",sum1);
//    }
    //递归求阶乘
    //函数递归:处理特定问题,函数递归是调用一个与自己功能相同的函数
    //printf("%d",factorial(5));
       return 0;
}
int factorial(int a){
    //注意递归一定要有出口
    if (a == 1 ||a == 0) {
        return 1;
    }
    return a * factorial(a - 1);
}
时间: 2024-11-03 20:50:02

iOS函数,函数递归的相关文章

【学习ios之路:C语言】函数及递归的简单应用

函数定义: 返回值类型 函数名(形参列表){函数体(函数的实现内容)}; 函数定义的四种形式: //函数定义第一种形式: 无参数, 无返回值 void byMilk() { //如果没有参数,小括号必不可少. printf("没钱\n"); } //函数名的命名规范:由多个英文单词组成,除了第一个单词的首字母小写,其余单词首字母大写. //函数定义第二种形式,有返回值,无参数 float salary() { printf("同志们辛苦了\n"); return 0

python中的函数以及递归

一  函数 函数的组成: def funname(parameters): instructions.... 在探讨函数的定义之前,让我们想想,如果我们写了上千行代码,其实各种变量定义,循环..... 我们如何知道代码执行到哪里了?或者说什么时候会结束? 因为我们应该谈谈函数的第一个特性了--分解 分解:指的是模块化-->将代码的功能拆分成能独立运作的模块,使得代码清晰,也能重用那么应该如何分解呢?那就要说说第二个特性:抽象 抽象:找到运算的相同模式. 让我们先看下下面的代码熟悉下 x = 4

紫书第4章 函数和递归

1  序 系统的整理下第四章的学习笔记.同上次一样,尽量在不依赖书本的情况下自己先把例题做出来.这次有许多道题代码量都比较大,在例题中我都用纯C语言编写,但由于习题的挑战性和复杂度,我最终还是决定在第五章开始前,就用C++来完成习题.不过所有的代码都是能在C++提交下AC的. 在习题中,我都习惯性的构造一个类来求解问题,从我个人角度讲,这会让我的思路清晰不少,希望自己的一些代码风格不会影响读者对解题思路的理解. 其实在第四章前,我就顾虑着是不是真的打算把题目全做了,这些题目代码量这么大,要耗费很

iOS指向函数的指针和block

  一:block基础知识 block基础知识 基本概念:block是用来保存一段代码的:^:是block得标志  好比*:是指针的标志 特点:1:保存一段代码: 2:可以有参数和返回值: 3:可以作为函数的参数传递: 与代码块的区别,代码块里的代码会自动执行,block中代码要手动调用: 二:普通数据类型.指向函数的指针.block的定义的类比 1:基本数据类型: 例如:int a = 10; 格式:数据类型  变量名 = 值: 2:指向函数的指针:可以仿照上边基本数据类型的定义 例如:voi

iOS 基础函数解析 - Foundation Functions Reference

Foundation Functions Reference Framework Foundation/Foundation.h Declared in NSBundle.h NSByteOrder.h NSDecimal.h NSException.h NSObjCRuntime.h NSObject.h NSPathUtilities.h NSRange.h NSZone.h Overview This chapter describes the functions and function

Python基础之内置函数和递归

本文和大家分享的主要是python中内置函数和递归相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回  True 3.any() 如果 iterable 的任何元素为真,则返回  True .如果iterable为空,则返回  False 4.callable() 如果  object 参数出现可调,则返回  True ,否则返回  Fal

利用php函数mkdir递归创建层级目录

项目开发中免不了要在服务器上创建文件夹,比如上传图片时的目录,模板解析时的目录等.这不当前手下的项目就用到了这个,于是总结了几个循环创建层级目录的方法. php默认的mkdir一次只能创建一层目录,而要逐层创建各级目录的话,一般都是先从父创建,然后逐层往下创建,但是这样手工创建的话,有点太过于麻烦了. 我们写程序是做什么的?不久是为了能自动化实现我们需要的功能么,这里的方法就是为了能够通过程序帮我们自动创建完成层级目录. Ruesin.com 思路有两种: 一.从上往下(父级→子级) 1.先判断

python函数之递归

一.递归的定义 函数的递归就是在一个函数内调用这个函数本身,python默认递归的最大层数是997. 二.递归实现三级菜单 1 def threeLM(dic): 2 while True: 3 for k in dic:print(k) 4 key = input('input>>').strip() 5 if key == 'b' or key == 'q':return key 6 elif key in dic.keys() and dic[key]: 7 ret = threeLM(

函数7—递归

基础概念 递归:在函数内部调用自身 递归与迭代的相同:都是一种函数的不断循环,每循环一次,减少一次解决问题的规模 不同:1.递归利用了栈的先进后出的概念,即将第一次运行的结果放入栈底,最后一次递归的结果放入栈顶, 再根据需要依次从栈顶取结果进行运算 2.递归:我们并不知道递归的次数,只需要规定递归结束的条件 迭代:有一个确切的迭代次数,并且迭代完成自动停止 递归 二分法1.必须有一个明确的结束条件2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少3.递归效率不高,递归层次过多会导致栈溢

Python基础(10)_内置函数、匿名函数、递归

一.内置函数 1.数学运算类 abs:求数值的绝对值 divmod:返回两个数值的商和余数,可用于计算页面数 >>> divmod(5,2) (2, 1) max:返回可迭代对象中的元素中的最大值或者所有参数的最大值 语法:max(iterable,key,default) 1 salaries={ 2 'egon':3000, 3 'alex':100000000, 4 'wupeiqi':10000, 5 'yuanhao':2000 6 } 7 8 print(max(salari