iOS开发学习第六课——函数的定义、声明和调用

/函数是具有特定功能的代码段
//通俗来说:一连串语句结合在一起,实现了某种功能,我们为它起了一个名字,之后我们就可以使用这个名字来代替这些语句
//函数的使用可以省去重复的代码的编写,大大的简化了程序,提高了开发效率
//从函数的定义上来看,函数可分为:库函数(系统提供好的函数,例如printf函数)  自定义函数(开发者自己写的函数)


//使用函数的三步:函数声明 函数定义 函数调用

//定义函数的第一种形式:无参数,无返回值
void eatApple(){
   
 printf("吃苹果");
   
 return;//如果返回值为void,则可写可不写void,写的话就直接return,代表什么都不返回
}
//定义函数的第二种形式:有参数,无返回值
void partyOfUs(int money){
   
 if (money > 100) {
       
 printf("吃黄焖鸡");
    }
else{
       
 printf("吃麻辣烫");
    }
}
//定义函数的第三种形式:有返回值,无参数(要用return返回)
int returnChangInt(){
   
 int a = 10;
   
 return a;//return的功能:将该函数的值返回给主函数(main函数)以供主函数使用,用于结束函数的执行,此函数之后的操作永不执行
}
//定义函数的第四种形式:有返回值,有参数
//比较a,b的最大值,并返回给最大值
int maxOfab(int a,int b){
   
 int max = 0;
    max = a > b ? a : b;
   
 return max;//返回最大值
}
//比较a,b,c的最大值
int maxOfabc(int a,int b,int c){
   
 int maxOfab = 0;//存储ab中的最大值
   
 int maxOfabc = 0;//存储abc中的最大值
    maxOfab = a > b ? a : b;
    maxOfabc = maxOfab > c ? maxOfab : c;
   
 return maxOfabc;//最后,返回abc当中的最大值
}

//形参(形式参数):出现在函数的定义当中,以假名字来表示函数调用是需要提供的值
//实参(实际参数):出现在函数调用中的表达式
//注意:函数调用中,形参会拷贝实参的内容,传递参数是给函数传达信息的一种方法

int main(int argc, const char * argv[]) {
   
   
 //函数调用:让我们自定义的函数体执行(直接调用函数名(参数名列表)即可)
   
 eatApple();
   
 //调用有参数的函数:
   
 partyOfUs(10);
   
 //调用函数:
   
 int A = returnChangInt();
   
 printf("%d\n",A);
   
 //调用函数:
   
 int max = maxOfab(8,9);
   
 printf("maxOfab = %d\n",max);
   
 //调用函数:
   
 int maxabc = maxOfabc(20, 5, 18);
    printf("maxOfabc = %d",maxabc);
   
   
 return 0;
}

练习作业:

//1.第一题(**)一维浮点型数组的冒泡排序函数
void sorted(float a[],int n){
   
 for (int i = 0; i < n; i++) {
        a[i] =
 arc4random() % 31 + 30;
       
 //        printf("%.2f  ",a[i]);
    }
   
 //    printf("\n");
   
 for (int i = 0; i < n; i++) {
       
 for (int j = 0; j < n - 1 - i; j ++) {
           
 if (a[j] > a[j + 1]) {
               
 int temp = 0;
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
   
 for (int i = 0; i < n; i++) {
       
 printf("%.2f  ",a[i]);
    }
}
调用实现:
int main(int argc, constchar * argv[]) {
    float b[10];
    sorted(b,10);
    return 0;
}

//2.第二题(***)编写实现 strlen 同功能的函数 stringLength。(也就是函数实现求字符串的长度)
int stringLength(char c[],int n){
    n = 0;
   
 for (int i = 0; i < n + 1; i++) {
       
 if (c[i] != '\0') {
            n++;
        }
    }
   
 printf("%d",n);
   
 return 0;
}
调用实现:
int main(int argc, constchar * argv[]) {
    int n = 0;
   
 char d[] = {"asdfghjkl"};
    stringLength(d,n);
    return 0;
}

//3.(***)编写实现 strcpy 同功能的函数 stringCopy
int stringCopy(char x[],char y[],int n){
   
 for (int i = 0; i < n; i++) {
       
 if (y[i] == '\0') {
           
 break;
        }
        x[i] = y[i];
    }
   
 printf("%s",x);
   
 return 0;
}
调用实现:
int main(int argc, constchar * argv[]) {
    char a[50] = {"lanou"},b[50] = {"iospeixun"};
    stringCopy(a, b, 50);
    return 0;
}

你可能感兴趣的:(c语言,学习,编程,c)