您的位置:首页 > 移动开发 > IOS开发

函数分类、函数声明和定义、函数调用,形参实参、函数嵌套调用

2015-01-10 22:40 288 查看
main.m中

#import <Foundation/Foundation.h>

#import "aboutClass.h"

//引入头文件的过程相当于把头文件的内容拷贝到当前文件夹中

//return关键字的作用:在没有返回值得函数里面,return用于把函数的结果返回给主调函数,在没有返回值得函数里面,return用于提前结束函数,return之后的语句就不用执行了

//函数之间都是平级的,不允许在函数里面嵌套函数。

//实参传递给形参是一个值拷贝的过程

//局部变量的作用,只在离它最近的大括号有用,出了括号就没有人认识

//全局变量:从定义的位置开始,往下都可以使用

//1.无返回值无参
int main(int argc,
const char * argv[]) {

    printHello();
   
fool();

    squreOfCircle(3);

    printNumber(7);//7为实参

    printFromNumberToNumber(10 ,
20);
   
int result =studentNumber();

    printf("number = %d\n",result);
   
maxValue(34,28);

    sumOfValue(sumOfValue(sumOfValue(3)));

    middleValue(3,5,8);
   
printf("中间值为:%d\n",middleValue(3,5,8));

    lenghtOfWord();
   
dayOfYear(2012,3,25);
   
exchange(3,6);
   
sum(3);
   
operate(2,'+',45);
   
int array[] = {1,2,3,4,5,6};
   
printArray(array,6);
   
int a[5] = {};

    randomArray(a,
5);
   
int array1[] = {};
   
outOfArray(array1,
20);
   
int array2[] = {};
   
sortByBubble(array2,5);
   
int array3[] = {};
   
serachArray(array3,
5);

    char str[] =
"nadfn fjaf fafnj fafn da er!";
   
spaceCount(str);
   
return 0;
}

aboutClass.h中

#import <Foundation/Foundation.h>

void printHello();
void fool();
int studentNumber();
int boyCount();
int girlCount();
void printNumber(int n);
void printFromNumberToNumber(int m ,
int n);
float squreOfCircle(int r);
int maxValue(int value1,int value2);
int sumOfValue(int n);
int middleValue(int a,int b,int c);
int lenghtOfWord();
int dayOfYear(int year,int month,int
days);
void exchange(int x,int y);

//int sumOfSquare();
int squre(int n);
int sum();
float operate(float a,char oper ,float
b);
void printArray(int array[] ,
int n);
void randomArray(int array[] ,
int n);
void outOfArray(int array[] ,
int n);
void sortByBubble(int array[],int n);
void serachArray(int array[],int n);
int spaceCount(char str[]);
aboutClass.m中

#import "aboutClass.h"

void printHello()
{

    printf("HELLOWORLD!\n");
}

void fool(){

    printf("李昕龙 is a stupid fellow!\n");
}

//2.有参数无返回值

void printNumber(int n)//n为形参
{
   
for (int i =
1; i <= n; i++) {
       
printf("n = %d\n",i);
    }
}

//3.无参数,有返回值

int studentNumber()
{

    return
boyCount() + girlCount();
}
int boyCount()
{
   
return 31;
}
int girlCount()
{
   
return 6;
}

void printFromNumberToNumber(int m ,
int n)
{
   
for (int i = m; i <= n; i++) {
       
printf("n = %d\n",i);
    }
}

//有返回值有参

//commond+shift+k 清楚项目缓存

float squreOfCircle(int r){//r形参
   
float squre = 3.14*r*r;
   
printf("圆的面积为:%f\n",squre);
   
return squre;
}

int maxValue(int value1,int value2)
{
   
int  max = value1 > value2 ? value1 : value2;

    printf("max = %d\n",max);
   
return  max;
}

int sumOfValue(int n)
{
   
int sum = 0;
   
for (int i =
1 ; i <= n; i++) {
        sum += i;
    }

    printf("1~%d的和为:%d\n",n,sum);
   
return sum;
}

//求三个数的中间值

int middleValue(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 mid = a + b + c - min - max;
   
return mid;
}

//随机生成一个数,求这个数字的长度

int lenghtOfWord()
{
   
int n = arc4random() %
10001 + 23;

    printf("这个数字为:%d\n",n);
   
int count = 0;
   
do{
        count ++;
        n = n /
10;
    }while (n !=
0);
   
printf("长度为:%d\n",count);
   
return count;
}

int dayOfYear(int year,int month,int
days){
   
int day = 0;
   
switch (month) {
       
case 12:
            day +=
30;
       
case 11:
            day +=
31;
       
case 10:
            day +=
30;
       
case 9:
            day +=
31;
       
case 8:
            day +=
31;
       
case 7:
            day +=
30;
       
case 6:
            day +=
31;
       
case 5:
            day +=
30;
       
case 4:
            day +=
31;
       
case 3:
           
if (year%400 ==
0 || (year % 4 ==
0 && year % 100 !=
0)) {
                day +=
29;
            }else{
                day +=
28;
            }
       
case 2:
            day +=
31;
       
case 1:
            day += days;
       
default:

            
           
break;
    }
   
printf("%d-%d-%d是这一年的第%d天\n",year,month,days,day);
   
return day;
}

void exchange(int x,int y){

    printf("原来的x=%d,原来的y=%d\n",x,y);
   
int temp = x;
    x = y;
    y = temp;

    printf("x=%d,y=%d\n",x,y);
}

//int sumOfSquare(int n){

//    int sum = 0;

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

//        sum += n*n;

//        if (i == n) {

//            printf("%d^2 = ",i);

//        }else{

//        printf("%d^2+",i);

//        }

//    }

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

//    return sum;

//}
int squre(int n){
   
return n*n;
}
int sum(int n){
   
int sum = 0;
   
for (int i =
1; i <= n; i++) {
        sum +=
squre(i);
       
if (i == n) {
           
printf("%d^2 = ",i);
        }else{
           
printf("%d^2+",i);
        }

    }
   
printf("%d\n",sum);
   
return sum;
}

float operate(float a,char oper ,float
b){
   
float c = 0;
   
switch (oper) {
       
case '+':
            c = a + b;
           
break;
       
case '-':
            c =  a - b;
           
break;
       
case '*':
            c = a * b;
           
break;
       
case '/':
            c = a / b;
           
if (b == 0) {
               
printf("error!\n");
               
return 0;
            }
           
break;
       
default:
           
break;
    }
    
printf("%f%c%f = %f\n",a,oper,b,c);
   
return c;
}
void printArray(int array[] ,
int n)
{
   
for (int i =
0; i < n; i ++) {
       
printf("array[%d] = %d\n",i,array[i]);
    }

    
}

//无返回值有参数
给一个数组的每个元素赋值
void randomArray(int array[] ,
int n)
{
   
for (int i =
0; i < n; i ++) {
        array[i] =
arc4random() % 101;
       
printf("array[%d] = %d\n", i , array[i]);
    }

    
}
void outOfArray(int array[] ,
int n){
   
for (int i =
0; i < n; i ++) {
        array[i] =
arc4random() % 23;
       
if (array[i] > 18) {
            array[i] =
0;
        }
       
printf("array[%d] = %d\n", i , array[i]);
    }
}
void sortByBubble(int array[],int n){
   
for (int i =
0; i < n; i ++) {
        array[i] =
arc4random() % 23;
       
if (array[i] > 18) {
            array[i] =
0;
        }
       
printf("array[%d] = %d\n", i , array[i]);
    }
   
for (int i =
0; i < n-1; i++) {
       
for (int j =
0; j < n - 1 - 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 < n; i++) {
   
printf("%d ",array[i]);
    }
}
void serachArray(int array[],int n){
   
for (int i =
0; i < n; i ++) {
        array[i] =
arc4random() % 23;
       
if (array[i] > 18) {
            array[i] =
0;
        }
       
printf("array[%d] = %d\n", i , array[i]);
    }
   
for (int i =
0; i < n-1; i++) {
       
int min = i;
       
for (int j = i+1; j < n ; j++) {
           
if (array[min] > array[j]) {
                min = j;
            }
        }
       
if (min != i) {
           
int temp = array[min];
            array[min] = array[i];
            array[i] = temp;
        }
    }
   
for (int i=
0; i < n; i++) {
       
printf("%d ",array[i]);
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c ios
相关文章推荐