“C语言简单记”基于我之前学习过程当中作过的笔记、随笔,特地整理了一下,只是简单的记录了一些比较重要的知识点,不会去深刻探究,面向的是一些有语言基础的人查找阅读,还请见谅,谢谢~~~算法
返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) { 函数体 }
主要做用:
1.将一个经常使用的功能封装起来,方便之后调用
2.提升代码重用率函数
形参: 在定义函数时,函数名后面的小括号()中定义的变量称为形式参数,简称形参,形参必定是变量
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。所以,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。学习
实参: 在调用函数时传入的值称为实际参数,简称实参,实参能够是常量,变量,表达式code
注意点:递归
1) 返回值能够和返回值类型不同,系统会对返回值进行自动类型转换(隐式转换) 2) 若是函数没有返回值,那么返回值类型就写void 3) 函数名称不能相同,形参,返回值类型不一样也不行,即不能重载 4) c语言不容许函数嵌套 5) 函数能够没有返回值类型,默认返回int类型 6) 调用函数时传递的实参个数必须和函数的形参个数必须保持一致
return 0: 返回0表示程序正确结束,其余值表明程序非正常结束内存
argc: 系统传递进来的参数,默认为1开发
argv: 系统传递进来的参数的实际值,默认是程序的名称博客
需求:要求用户输入一个大于0的数,如何不大于0一值提示,知道大于0为止 #include <stdio.h> void scanNumber(); int main(int argc, const char * argv[]) { scanNumber(); return 0; } void scanNumber(){ // 接收值 printf("请输入一个大于0的数字:\n"); int number = -1; scanf("%d", &number); // 判断 if (number <= 0) { scanNumber(); }else{ printf("m=%d\n", number); } // 递归要有明确的结束条件,防止死循环 }
用递归算法求累加和、累乘io
#include <stdio.h> int sum(int a); // 求累加和 int mul(int b);// 求累乘 int main(){ // 接收值 printf("请输入一个大于0的数字:\n"); int number = -1; scanf("%d", &number); printf("sum = %d\n", sum(number)); printf("mul = %d\n", mul(number)); return 0; } int sum(int a){ int result = 1; if(a == 1){ return result; }else{ return sum(a-1) + a; } } int mul(int b){ int result = 1; if(b == 1){ return result; }else{ return uml(b-1) * b; } }
答: 函数的嵌套是语言特性,递归是逻辑思想; 函数嵌套就是容许函数中调用另外一个函数, 递归经过函数嵌套来实现,本身调用本身, 总的来讲,函数嵌套就是函数调用函数,递归就是函数调用本身,是函数嵌套的一个特例
更多关于iOS学习开发的文章请登录个人我的博客www.zhunjiee.com,欢迎前来参观学习class