黑马程序员 -- IOS C语言 函数

来源:互联网 发布:伤感的网络歌曲大全 编辑:程序博客网 时间:2024/06/05 02:21

-------------------------------------- android培训、java培训、ios培训期待与您交流! --------------------------------


函数

不同的功能写在不同的函数里



1.定义函数的目的

将一个常用的功能封装起来,方便以后调用


2.定义函数的步骤

1>函数名:函数交什么名字

2>函数体:函数是干什么的,里面包含了什么代码


3.函数的定义格式

返回值类型函数名(形式参数列表)

intmain()

{

函数体

}


4.定义函数需要明确的东西

1>起一个有意义的函数名

2>确定参数

3>是否要返回值 return


练习题

//定义abcd的变量,求平局值,调用平均值函数.


#include <stdio.h>

//这个函数是用来求平均值,用得时候直接调入main函数即可.


// 返回值类型    函数名            形式参数列表

    int        average         (int num1,int num2)


        {

            return (num1+num2)/2;//函数体

        }

//num1,num2等于在average的函数里面定义的一个做运算的变量.和别的地方的没有关系.




int main()

{

//a=10 b=9 c=ab的平均值.不用在麻烦的算,直接调用average函数即可,

    int a =10,b =9;

    int c= average(a,b);

    printf("c的值为%d\n",c);

    

//aa=100 bb=50 ,d=aabb的平均值,不用在麻烦的算,直接调用average函数即可,

    int aa =100,bb =50;

    int d= average(aa,bb);

    printf("d的值为%d\n",d);

    

    

    

    return0;

}


/*

 定义3个函数,

 求两个整数的差

 打印一条横线

 打印n条横线

 定义函数的步骤

 1>根据函数的作用,起一个有意义的名称

 2>确定函数的形参个数

 3>确定函数的返回值

 */

#include <stdio.h>


void line(int n)

{

    for (int i ;i<n ;i++ )

    {

        printf("***********\n");

    }

}

void printline()

{

    printf("--------\n");

}


int minuse(int a,int b)

{

   return a - b;

}


int main()

{

    line(5);

    printline();

    printf("%d\n",minuse(10,8));

    

    return 0;

}




形参与实参

形参

把int a (int num1,int num2)这个值传入大括号中 接受外界传进来的值

#include <stdio.h>

int sum(int num1,int num2)

{

return(num1+num2);

} |     |

int main()        | |

{ |  |

int a =1000;   |

int b =270;-----|

int c =sum(a,b)   //称为函数的实际参数(简称实参)

printf("c is %d\n",c);  

return 0;

}


调用函数时 实参会把对应的值掉给形参

是参与形参的个数必须相同

int sum(int sum1,int sum2)

{

int sum =10这样是不可行的,需要和括号里面的相同,属于重复定义

return:(num1+num2)修改形参不会更改实参的值

}




1.形式参数:定义函数时,函数后面的参数(简称形参)

2.实际参数:调用函数时,传入的具体数据(简称实参)

3.实参个数必须等于实参个数

4.函数体内部不能定义和形参一样的变量

5.如果是基本数据类型,作为函数形参,纯粹是值传递

修改函数内部形参的值,并不会影响外面实参的值.

6.一个函数可以没有形参,也可以有无限多个形参




返回值 return

return的作用

1>退出函数

2>返回一个具体只给函数调用者


void test()

{

return---可用可不用,视条件而顶

}


void代表没有返回值

不用在写.return 0,或者 return 返回值


2.如果不明确声明返回值类型,默认就是int类型

test()

{

}


1.默认情况下,不允许有函数的名称一样

2.函数不能嵌套定义

3.函数不能重复定义,但可以重复声明

函数声明可以直接写入main函数,调用的定义之前

4.如果有函数的声明没有函数的定义

1>编译器可以通过,因为编译智慧检测语法合理不合理

2>链接报错,因为链接的时候会检测函数是否定义



<stdio.h>    h= header file   头文件

1.函数的定义放在.c文件 声明放在.h文件

2.如果要使用某个.c文件种定义的函数,只需要#include这个,c文件对应的.h文件就行

3..h文件的作用,被别人拷贝,编译连接的时候不需要管.h文件


include的作用

1>拷贝右边文件所有内容到#include的位置

2>自定义的文件要用""双引号  系统自带的用<>

3>#include <stdio.h> 的目的是:拷贝printf函数的声明


多文件开发

张三写main函数-.c  -. o

李四写其他函数 -c. -. o     最后cc张三.o   李四.o=./a.out



链接:

把项目中所有相关联的.o目标文件和C语言函数库合并在一起,生成可执行文件


return 返回0  代表正常退出

   返回1 或别的数,代表异常退出

但无论返回多少都不影响程序,只是系统会做日志记录


\n是转移字符.有特殊含义的字符

.t代表输出一个tab键

在printf中一个中文相当于3个字符

printf算的是有多少个字符数,不是字数

 


0 0