C 语言函数

//
//  main.m

//#import  < >这是我们系统自带的框架
#import <Foundation/Foundation.h>
//import " "  代表的是我们自己定义的文件,而且引入的是头文件
#import "func.h"



    /**
     函数:就是封装了一块代码段而封装的代码段具有其特定的作用,
     printf()输出函数
     scanf ();阻塞函数,输入函数
     strlen()计算字符串长度的函数
     
     
     //函数类型:
     参数:参数分为形式参数(形参);形式参数:就是我们在定义函数时,函数名后边()括号内的参数
         实际参数:也叫做(实参),就是我们在调用函数时函数名后边()括号内写的参数
     函数的格式:类型修饰符  函数名 括号() 括号内部是我们的参数
     
     void rest(int a,int b){ }
     如果有多个参数 我们可以使用(,)来隔开
     如果我们上边的void   换成 int....或者其他的数据类型我们在我们{}花括号内部写上return   代表 是有返回值的函数
     
     
     
     
     函数的几大类型:
     1,无参数无返回值(无  使用; void 来表示)
     
     2,无参数有返回值
     
     3.有参数有返回值
     
     4.有参数无返回值


     
     **/
    
    
    //现在要求写一个函数  我叫赵日天,我要neng死你!
    
   //无返回值无参数
//void test(){
//    printf("我叫赵日天,我要neng死你!!");
//}



//无返回值有参数
//void test1(int a,int b){
//    printf("sum=%d\n",a+b);
//}

////有返回值有参数
//int test2(int a,int b){
//    int result=a*b;
//
//    return result;
//}
//有返回值无参数
//int test3(){
//    
//    printf("叔叔,约吗?");
//        return 0;
//     printf("阿姨,约!!!");//这里是不会打印出来的,因为遇到return代表着结束,所以只会打印出return之前的语句.
//}


//定义一个比较两个数大小的函数
//int test4(int a,int b){
//    int max=a>b?a:b;
//    return max;
//}
//
//
//

//int sumValue(int n){
//    int sum=0;
//    for (int i=1; i<=n; i++) {
//        sum+=i;
//    }
//    return sum;
//}






//编写函数dayOfyear(year,mouth,day),使得函数返回值由这三个参数确定一年当中的第几天

//int dayOfyear(int year,int mouth,int day)
//{
//    //定义一个数组数组当中的元素表示我们一年当中所有月份的天数
//    int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
//    int sum=0;//接收刚过完月份的天数的总和
//    //判断闰年
//    if ((year % 400==0)||(year % 4== 0&&year % 100!= 0))
//    {
//        days[1]=29;//将我们2月份的天数改成闰年的特殊情况也就是29天
//    }
//    //计算已经过完所有月份的天数之和
//    for (int i=0; i<mouth-1; i++) {
//        sum+=days[i];
//    }
//    //累加传入的天数
//    sum+=day;
//
//
//    return sum;
//}





//编写一个函数,返回三个整数的中间数
//中间数=总和-max-min;
//中间数怎么确定?-->
// int test(int a,int b,int c)
//{
//    int max =(a>b?a:b)>c?(a>b?a:b):c;//接收最大值
//    int min =(a<b?a:b)<c?(a<b?a:b):c;//接收最小值
//    int sum=a+b+c;
//    int d=sum-max-min;
//    printf("中间值=%d",d);
//    return d;
//}



//用函数封装一个冒泡
//数组作为我们函数的参数
//把数组作为函数参数的时候,传入的是数组的首地址(array)

//        int i,j;
//        int a[6]={3,6,2,8,1,9};
//        int temp;
//        for (i=0; i<5; i++) {
//            for (j=0;j<5-i ; j++) {
//                if (a[j]>a[j+1]) {
//                    temp=a[j];
//                    a[j]=a[j+1];
//                    a[j+1]=temp;
//                }
//            }
//        }for (i=0; i<6; i++) {
//            printf("%d ",a[i]);
//        }
//

//数组作为函数的参数:冒泡
//int array[]={3,6,2,8,1,9};
//void mp(int array[],int count)
//{
//    for (int i=0; i<5; i++) {
//        for (int j=0;j<5-i ; j++) {
//            if (array[j]>array[j+1]) {
//                int temp=array[j];
//                array[j]=array[j+1];
//                array[j+1]=temp;
//            }
//        }
//    }  for (int i=0; i<count; i++) {
//        printf("%d ",array[i]);
//    }
//    
//}
//int a[]={3,4,1,8,5,2};
//void mp(int a[],int count)
//{
//    for(int i=0;i<count-1;i++){
//        for (int j=0;j<count-1-i;j++){
//            if (a[j]<a[j+1]) {
//                int temp=a[j];
//                a[j]=a[j+1];
//                a[j+1]=temp;
//                
//            }
//        
//        }
//        
//    }for (int i=0; i<count; i++) {
//        printf("%d ",a[i]);
//    }
////在这里(函数内部)a 相当于一个指针变量,指针所占字节大小是8个
//    printf("字节%lu",sizeof(a));
//
//}
/*编写函数 void sayHi(void) :应⽤用for循环,打印3遍“我要减肥”
编写函数,应⽤用for循环,打印n遍“我要减肥”, n的值由键盘输⼊入
*/

//void sayHi(void){
//    for (int i=0; i<3; i++) {
//        printf("我要减肥!!\n");
//    }
//
//}
//void sayHi(void) {
//    printf("请输入一个数");
//    int n;
//    scanf("%d",&n);
//    for (int i=0; i<n; i++) {
//        printf("我要减肥!!\n");
//    }
//
//}

/*求两个数的最⼤值
•
  求三个数的最⼤值
•
  求四个数的最⼤值
•
  求五个数的最⼤值
*/









    int main(int argc, const char * argv[]) {
//
        
        
        
        //函数的调用
//        test();
//        
//        test1(3,4);
//
//        
//        int cj = test2(3,4);
//        
//        printf("%d\n",cj);
//    
//        test3();
////    
//        int max=test4(1,5);
//        printf("max=%d",max);
        
        
        //完整的函数分为:函数声明,函数实现,函数的调用.
        
        //编写函数int sumValue(int n):计算1-n的和
        
    
//        printf("sum=%d",sumValue(3));
        
        
        
      
//        printf("%d\n",dayOfyear(2016,3,12));
//        test(6,5,7);
//        
//        int array[6]={3,6,2,8,1,9};
//        mp(array,6);
////        int a[6]={3,4,1,8,5,2,29};
//        mp(a, 6);
//        printf("字节%lu",sizeof(a));
        
//        sayHi();
        
        /*求两个数的最⼤值
         •
         求三个数的最⼤值
         •
         求四个数的最⼤值
         •
         求五个数的最⼤值
         */
//        int result1=TwoNumxj(5, 4);
//        printf("%d ",result1);
//        int result2=TwoNumjf(5, 4);
//        printf("%d ",result2);
//        int result3=TwoNumcf(5, 4);
//        printf("%d ",result3);
//        int result4=TwoNumxc(5, 4);
//        printf("%d ",result4);
        
//        
//        int Max=TwoNumMax(3,4);
//        printf("Max=%d\n",Max);
//        
//        int max2=ThreeNumMax(4,5,6);
//        printf("max2=%d\n",max2);
//        
//        int max3=FourNumMax(6,7,8,9);
//        printf("max3=%d\n",max3);
//        
//        int max4=FiveNumMax(6,7,8,9,10);
//        printf("max4=%d\n",max4);
//
        
    return 0;
}

 

//
//  func.h


#import <Foundation/Foundation.h>


//实现4个函数分别求两个整型数的加,减,乘,除
//函数声明  一般放在  . h文件中,声明相当于说明书的扉页
  //               .m文件中 一般放的是我们实现部分(函数实现),实现就相当于左具体的操作

//
int TwoNumxj(int num1,int num2);




//
int TwoNumjf(int num1,int num2);





//

int TwoNumcf(int num1,int num2);



//
int TwoNumxc(int num1,int num2);




//求两个数的最⼤大值

int TwoNumMax(int a,int b);

//求三个数的最⼤大值
int ThreeNumMax(int a,int b,int c);


//求四个数的最⼤大值
int FourNumMax(int a,int b,int c,int d);

//求五个数的最⼤大值

int FiveNumMax(int a,int b,int c,int d,int e);

 

//
//  func.m


#import "func.h"
//相加
int TwoNumxj(int num1,int num2)
{
    return num1+num2;

 }
//相减
int TwoNumjf(int num1,int num2)
{
    return num1-num2;
    
}
//相乘
int TwoNumcf(int num1,int num2)
{
    return num1*num2;
    
}

//相除

int TwoNumxc(int num1,int num2)
{
    return num1/num2;
    
}

//两个数找最大值
int TwoNumMax(int a,int b){


    return a>b?a:b;
    
}
//三个数找最大值
int ThreeNumMax(int a,int b,int c){

    return TwoNumMax(a, b)>c?TwoNumMax(a, b):c;
}

//四个数找最大值
int FourNumMax(int a,int b,int c,int d){
    
    return ThreeNumMax(a,b,c)>d?ThreeNumMax(a,b,c):d;

}
//五个数找最大值
int FiveNumMax(int a,int b,int c,int d,int e){
    return FourNumMax(a,b,c,d)>e?FourNumMax(a,b,c,d):e;
}

 

posted @ 2016-05-09 19:55  胡一波  阅读(197)  评论(0编辑  收藏  举报