我的IOS学习历程 - 第六天1

今天主要说的是函数定义和函数的调用


自建的库:

#import "Operator.h"


int sumValue1(int num1,int num2){

    return num1 + num2;

}

int subValue(int num1,int num2){

    return num1 - num2;

}

int mulValue(int num1,int num2){

    return num1 * num2;

}

int divValue(int num1,int num2){

    return num1 / num2;

}

int maxValue(int num1,int num2){

    int max = num1 > num2 ? num1 : num2;

    return max;

}

//  切记返回值只有一个

#import "Function.h"


//  函数的实现

int sumSum(int num1,int num2){

    return num1 + num2;

}

void sortArray(int array[],int count){

    for (int n =0; n < count - 1; n++) {

        for (int m =0 ; m < count - n - 1; m ++) {

            if (array[m] < array[m +1]) {

                int temp = array[m];

                array[m] = array [m +1];

                array[m +1] = temp;

            }

        }

    }

    //打印

    for (int n =0; n < count; n++) {

        printf("%d",array[n]);

    }

}




#import <Foundation/Foundation.h>

//  引入头文件

//  引入系统头文件使用<>

//  引入自定义文件使用""

#import "Function.h"

#import "Operator.h"

//  无返回值的函数

void myprintf  (){

    printf("我是一个无返回值无参数的函数\n");

    printf("JAY\n");



    //  return作用

    //  1.无返回值时.直接结束,return都不执行

    //有返回值时,结束的同时,把返回值反回去

    return//return后别写回去

    //printf("撒事\n");

}




// 无返有参的函数


void printfSum(int num1,int num2){

    

    printf("%d",num1 + num2);

}


//    .有返回值无参数的函数

int returnValue()

{

    return10;


}


//  有返回值有参数的函数(参数类型加参数名字)

//  多个参数中间用逗号隔开

//  注意参数的名字不能相同

//  函数的参数需要在函数体去使用

//  计算两个整数的


//  参数的两种形式

//  1. 实际参数 函数调用时的参数

//  2. 形式参数 函数声明时的参数

//  函数调用的时候相当于实际参数赋值形式参数 参数之间的传递是一个值的传递

int sumNumber(int num1,int num2)

{

    return num1 + num2;

}



//  练习1:编写函数int sumValue(int n):计算1n的和

int sumValue(int n){

    // 保存和

    int sum  =0;

    // 循环求和

    for (int i =1; i <= n; i++) {

        sum = sum + i;

    }// 把值返回

    return sum;

}


//  编写函数dayOfYear(year, mouth,day),使得函数返回由这三个参数确定的那⼀天是⼀年中的第⼏天。


int dayOfYear(int x,int y, int z){

    int day,day1 =0;

    if ((x %4 == 0 && x %100 != 0)||x %400 == 0) {

        int a[12] = {31,29, 31,30, 31,30, 31,31, 30,31, 30,31};

        for (int m =0; m < y - 1; m++) {

            day1 = day1 + a[m];

        }

    }

    else{

        int a[12] = {31,28, 31,30, 31,30, 31,31, 30,31, 30,31};

        for (int m =0; m < y - 1; m++) {

            day1 = day1 + a[m];

        }


    }day = day1 + z;

    return day;

}


//  练习3 :编写函数,返回三个整数的中间数。

//  公式 :三个数的和 - 最大值 -最小值 = 中间值

int midNumber(int x,int y, int z){

    int max,min,mid =0;

    max = x > y ? x : y;

    max = max > z ? max : z;

    min = x > y ? y : x;

    min = min > z ? z : min;

    mid = (x + y + z) - (max + min);

    return mid;

}


//  练习4 :编写函数,返回正整数n中的数字的个数。

int NumberValue(int n){

    int count =1;

    while (n /10 != 0) {

        // 连除10

        n = n / 10;

        // 记录有几位数

        count++;

    }

    return count;

}


void pppp();

/*

 完整的函数分为三个部分

 1. 函数的声明

 2. 函数的实现

 3. 函数的调用(一般是主函数(main)中去调用)

 */


int main(int argc,const char * argv[]) {

    // 函数的定义 :具有特殊功能的代码段

    /*

     函数的返回值类型 +函数名(参数列表){

     

         函数体(函数中的语句)

     

         return  返回值

     }

     返回值的类型可以是所有基本数据类型例如int ,float ....也可以没返回值

        没有返回值void

        没有返回值不用woid

     */

    

    // 调用函数

    // 函数的名字(参数列表)

//     myprintf();

    

    //有返回的函数 需要定义一个变量去接受他

//    returnValue();

//    int number = returnValue();

//    printf("%d",number);

    

    // 调用有返回值有参数的函数

//    int a = 3;

//    int b = 5;

//    int sum = sumNumber(a, b);

//    printf("%d\n",sum);

    

    // 无返回值 有参数的函数

    // 打印两个 整数的和


    // 练习1 调用

//    int sum = sumValue(5);

//

//    printf("%d",sum);

   

    

    // 练习2 调用

//    int day= dayOfYear(2000, 3, 1);

//    printf("%d",day);

    

    // 练习3 调用

    

//    int count = NumberValue(1234);

//    printf("%d",count);

//    pppp();

    

    // 调用Function.h当中声明的函数

//    sumSum(1, 5);

//    int sum = sumValue1(2, 3);

//    int sub = subValue(4, 2);

//    printf("%d,%d",sum,sub);

//    int max = maxValue(maxValue(maxValue(8, 6), 3), 5);

//    printf("%d", max);

    

    // 冒泡函数的调用

    // 调用时 传入数组的名字传入的是数组的元素的首地址

    int array[5] = {1,3, 4,6, 8};

    sortArray(array,5);

    return0;

}


void pppp(){

printf("sssss");

}

//  切记 :一般函数的调用在主函数

posted on 2015-10-15 20:23  彩虹直至黑白  阅读(115)  评论(0)    收藏  举报

导航