A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵安庆 中级黑马   /  2016-5-5 22:40  /  692 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



#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 课堂练习讲解 [掌握] --自己讲解
我们来看一下一个小练习 --
判断一个年份是不是闰年?
'函数取名的时候最好是首字母小写,其余单词的字母大写







2 个回复

倒序浏览
打开了方式离开电脑了
回复 使用道具 举报
{:3_46:}{:3_46:}{:3_46:}。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马