iOS学习(C语言)知识点整理笔记

一、函数

1)概念:具有特定功能的代码块的封装

2)函数的定义: 函数类型+函数名(形参列表)

函数类型 函数名(形参类型1  形参名1,形参类型2   形参名2.....){

函数体;//函数的实现

}

3)函数名要符合标示符的定义

4)函数的返回类型可为空,为空用void;也可以是其他数据类型。

5)void函数的调用:函数名(); void类型不能用任何类型去接收。

6)int 类型函数的调用:定义int类型的数据去接收函数的返回值,例如: int sum=add(x,y); 有时候也可以忽略      返回值

7)return 函数的返回 ,void函数的return语句可以省略也可以return 空,return语句可以有多条,以执行到的第一句为准。

8)非void的其他类型,return 表达式类型要和定义的类型匹配

9)返回类型与接收类型不匹配时不一定会报错,但会造成精度的损失,例如:int类型的函数用char类型接收

10)函数的好处:将不同的功能实现封装起来,容易阅读和维护;便于分工,调用的人可以不关心具体的实现。

11)函数使用的注意点:

1、函数名要言之有物,名字和功能一致。

2、接口要精简(形参,返回值)

3、实现的功能要单一,不要混杂。

4、对外的函数接口要由详细的注释

12)局部变量:从变量定义的位置开始到定义所在的方法体的“}”结束

13)函数运行的过程:

1、给形参开辟空间

2、实际参数给形式参数传值

3、形式参数参与运算

4、return 的时候形参销毁

14)全局变量:定义在方法体外面的变量,优点所有函数都能访问,缺点所有函数都能修改不安全。

15).c文件写方法的实现;.h文件放函数的声明。

16)函数的声明: 函数返回类型   函数名(形参类型1  形参名1,形参类型2  形参名2....)。

17)函数在main后面定义,但是必须要在main之前声明。

18)头文件存放内容:

1、函数的声明

2、类型定义 #typedef

3、宏定义 #define

19)函数都是平级的可以相互调用,也可以自己调用自己。

二、递归

1)概念:函数自己调用自己的一个过程

2)递归的优点是使代码结构层次更清晰使程序更简洁,缺点是占用资源太多,可能造成堆栈溢出。

3)使用递归算法 计算斐波拉契数列

实现代码:

 int fblq(int n){
if(n==||n==)
return ;
else
return fblq(n-)+fblq(n-);
}
int main(){
int len=;
for (int i=; i<=len; i++) {
printf("%d ",fblq(i));
}
return ;
}

4)使用递归求两个数的最大公约数

实现代码:

 int ComDiv(int x,int y){
if(x%y==)
return y;
else
return ComDiv(y,x%y);
} int main(){
printf(“%d”, ComDiv(,));
return ;
}

5)使用递归算法实现猴子吃桃问题的统计

实现代码:

 int MonkeyEatPeach(int day){
if(day==)
return ; printf("day=%d\n",day); return *MonkeyEatPeach(day+)+;
}

iOS 阶段学习第七天笔记(函数、递归)的更多相关文章

  1. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  2. iOS阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  3. iOS 阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  4. iOS 阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  5. iOS 阶段学习第24天笔记(Block的介绍)

    iOS学习(OC语言)知识点整理 一.Block 的介绍 1)概念: block 是一种数据类型,类似于C语言中没有名字的函数,可以接收参数,也可以返回值与C函数一样被调用 封装一段代码 可以在任何地 ...

  6. iOS 阶段学习第22天笔记(JSON数据格式介绍)

    iOS学习(OC语言)知识点整理 一.JSON数据格式 1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典:对象的序列:[,,,,,]数组两种数据类型 2)UR ...

  7. iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)

    iOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 ...

  8. iOS阶段学习第14天笔记(NSString与NSMutableString)

    iOS学习(OC语言)知识点整理 一.OC字符串的操作 1)OC中字符串分为两种: 1.不可变字符串NSString:不能修改对象内容,但是可以改变对象的指针. 2.可变字符串NSMutableStr ...

  9. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

随机推荐

  1. GOOGLE PROTOBUF开发者指南

    原文地址:http://www.cppblog.com/liquidx/archive/2009/06/23/88366.html 译者: gashero 目录 1   概览 1.1   什么是pro ...

  2. [ACM_模拟] POJ1068 Parencodings (两种括号编码转化 规律 模拟)

    Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two diff ...

  3. AWS re:Invent 2014回顾

    亚马逊在2014年11月11-14日的拉斯维加斯举行了一年一度的re:Invent大会.在今年的大会上,亚马逊一股脑发布和更新了很多服务.现在就由我来带领大家了解一下这些新服务. 安全及规范相关 AW ...

  4. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  5. Oracle使用小记

    windows下Oracle必须要启动的服务 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service ...

  6. JAVA环境配置-Eclipse新建项目

    首先配置安装jdk和jre 安装如下: 然后配置变量环境:右键我的电脑--属性--高级系统设置--环境变量--系统变量--找到PATH--编辑 将安装配置的jdk的目录和jdk目录下的bin目录放入其 ...

  7. 题目一:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

  8. Atitit  图像处理底色变红的解决

    Atitit  图像处理底色变红的解决 1.1. 原因  ImageIO  bug ,alpha通道应该在保存jpg的时候排除1 1.2. 解决,自己移除alpha通道即可1 2. Image sav ...

  9. Atitit 异常机制与异常处理的原理与概论

    Atitit 异常机制与异常处理的原理与概论 1. 异常vs 返回码1 1.1. 返回码模式的处理 (瀑布if 跳到失败1 1.2. 终止模式  vs 恢复模式(asp2 1.3. 异常机制的设计原理 ...

  10. .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引

    系列文章索引: .NET面试题解析(01)-值类型与引用类型 .NET面试题解析(02)-拆箱与装箱 .NET面试题解析(03)-string与字符操作 .NET面试题解析(04)-类型.方法与继承 ...