#pragma mark 00 知识回顾
1.什么是函数? 大家学习编程的目的是什么? 是不是为了从事iOS开发对不对,做iOS开发的同时。 从事iOS开发就是做app。
有的是想成为高富帅,有的是想成为白富美
函数就是为了满足某一个功能,封装的一段代码!可以解决代码重用的问题,也可以解决分工的问题
#pragma - 01 局部变量和全局变的异同点 [掌握] 变量:内存中若干个字节,用来存储数据 1>局部变量:定义在函数内部的变量
2>全局变量:定义在所有函数外部的变量变量叫做全局变量
3>局部变量属于距离最近的{} void test(){ //局部变量 int age = 0; age++; { int tepm = 10; } printf("age= %d\n",age); }
4)初始值 局部变量:初始是垃圾值 全局变量:0
5>创建和回收的时间不同 局部变量:程序运行到局部变量那一行代码的时候才会创建,在作用域结束回收 全局变量:程序一启动就会创建,在程序运行结束回收
#pragma - 02 什么时候需要使用全局变量 [掌握] void testing() { int age = 33; printf("%d\n",age); } int main() { for (int i = 0; i<3; i++) { testing(); } return 0; } 1.什么时候需要使用全局变量? 如果一个变量需要在整个程序范围内访问 会在多个函数或者同一个函数多次使用,同一个变量的时候!!!
#pragma - 03 函数的参数的介绍 什么情况下需要使用函数的参数 班长有一个买冰棍的功能,但是买冰棍需要钱?我们不能让班长去买冰棍还自掏腰包吧! 所以我们是不是应该给班长钱,班长才能去买冰棍! 这个时候就需要给班长钱!!
1.为什么视频中说scanf函数在ios开发中用不了? iPhone 运行 OS X iOS应用如何获取用户输入信息,UITextfield这个控件来获取. scanf是从控制台用键盘输入,iOS操作系统不支持这个功能.没有控制台 如果iPhone弹出一个控制台,宝宝表示看不懂!!
2.函数的调用者是谁? 1>main函数 main函数的调用者是操作系统. 2>其他函数 1)main函数中调用其他函数,那么main函数是调用者 2)main函数中调用函数A,函数A又调用函数B,函数B的调用者是A
#pragma - 04 参数可以实现的效果
传入的参数的方法既可以是常量也可以是变量 void test(int num){ int num; printf("%d\n",num); } int main(){ int num = 10; test(10); return 0; }
#pragma - 05 练习水仙花的数量 判断一个数是不是水仙花数? 三位数,并且各位数的立方相加等于其本身
void isShuiXianHuaShu(int num){ //1.判断是不是三位数 if (num >= 100 && num <= 999) { int bai = num /100; int shi = num %100 / 10; int ge = num %10; if (bai*bai*bai + shi*shi*shi + ge*ge*ge == num) { printf("这是一个水仙花数"); }else{ printf("不是水仙花数"); } }else{ printf("不是水仙花数"); } }
延伸:找出所有的水仙花的数量 void getAllShuixianhua(){ int temp = 0; for (int i = 100; i <= 999; i ++) { int bai = i /100; int shi = i %100 / 10; int ge = i %10; int num = bai*bai*bai + shi*shi*shi + ge*ge*ge; if ( num == i) { temp++; printf("这是一个水仙花数!%d\n",i); } } printf("所有的水仙花数量是--%d\n",temp); }
#pragma mark - 06 什么时候函数需要带参数 [掌握] "小结 如果你写一个函数的时候,不知道有没有参数,就暂时不要写 先写函数的主体功能部分,在写函数的实现部分的时候,发现需要数据,数据的来源是 不定的,但是数据的类型是确定的,这个时候我们就将这个数定义为函数的参数
#pragma mark - 07 课堂练习讲解 [掌握] --自己讲解 我们来看一下一个小练习 -- 判断一个年份是不是闰年? '函数取名的时候最好是首字母小写,其余单词的字母大写
|