什么是函数,为什么需要函数,有了函数之后有什么好处,没有函数行不行?
对于函数有什么操作;
1、为什么需要函数?
main()
{
XXX;
XXX;
}
自然段;----》章 ----》卷或者季;
盗墓笔记第一季:
第一章;
第一段;
第二段;
第三段;
第二章;
第三章;
。。。
盗墓笔记第二季;
。。。
盗墓笔记第三季;
。。。
===》采用“分”的思想;
===》编程:采用“分”的思想;===》分成模块 ===》分成函数;
2、什么是函数;
3、有了函数之后有什么好处
①代码更加精简,是程序模块化;
②函数可以复用;
4、没有函数行不行;
行!
5、对于函数要掌握哪些知识点:
①定义;
首先要明确,要定义的函数应该具备什么功能;
如何定义:
函数的返回值类型 函数的名字(函数的参数列表)
{
函数的代码块;
}
注意:
函数可以没有参数列表,但是()不能丢;
最终返回的数据类型一定要和“函数的返回值类型 ”一样!
②声明;
内部声明和外部声明;
内部声明:
为什么要声明:
编译器在进行编译的时候是从上往下进行编译的!
如果函数的定义在函数调用之前,可以不进行声明;
如果函数的定义在函数调用之后,不进行声明,会报警告!===》有些编译器不会报警告!
声明的作用:
告诉编译器,函数的名字是什么,函数有没有参数列表,如果有的话,应该给函数传递什么类型的参数,
传递多少个参数!===》告诉编译器,函数的正确使用方法;
当调用函数的时候,会根据函数的声明,来判断,函数调用的是否正确!
如何声明;
最简单的方法:把函数定义的第一行复制粘贴,然后在后面加个分号;
外部声明:extern
③调用;
函数的调用过程其实就是实参传递到形参的过程!
===》实参和形参;
实参:函数调用的时候,给函数传递的真实值;
形参:函数定义的时候的函数列表;
如何调用:
实参给形参传递的时候,是把实参的数“拷贝”一份给形参;
===》既然是拷贝,传递的方向,只能是实参--->形参,不能够形参--->实参!
函数的形参所占用的空间,是在函数调用的时候分配的,没调用的时候不分配空间;
调用结束函数形参所分配的空间由系统自动释放,程序员不用管;
函数调用的时候是按照顺序调用的,不是按照名字!实参的名字跟形参名字没有半毛钱关系!
===》第一个实参的数据拷贝给第一个形参;第二个实参的数据拷贝给第二个形参,。。。。
对于函数有什么操作;
1、为什么需要函数?
main()
{
XXX;
XXX;
}
自然段;----》章 ----》卷或者季;
盗墓笔记第一季:
第一章;
第一段;
第二段;
第三段;
第二章;
第三章;
。。。
盗墓笔记第二季;
。。。
盗墓笔记第三季;
。。。
===》采用“分”的思想;
===》编程:采用“分”的思想;===》分成模块 ===》分成函数;
2、什么是函数;
3、有了函数之后有什么好处
①代码更加精简,是程序模块化;
②函数可以复用;
4、没有函数行不行;
行!
5、对于函数要掌握哪些知识点:
①定义;
首先要明确,要定义的函数应该具备什么功能;
如何定义:
函数的返回值类型 函数的名字(函数的参数列表)
{
函数的代码块;
}
注意:
函数可以没有参数列表,但是()不能丢;
最终返回的数据类型一定要和“函数的返回值类型 ”一样!
②声明;
内部声明和外部声明;
内部声明:
为什么要声明:
编译器在进行编译的时候是从上往下进行编译的!
如果函数的定义在函数调用之前,可以不进行声明;
如果函数的定义在函数调用之后,不进行声明,会报警告!===》有些编译器不会报警告!
声明的作用:
告诉编译器,函数的名字是什么,函数有没有参数列表,如果有的话,应该给函数传递什么类型的参数,
传递多少个参数!===》告诉编译器,函数的正确使用方法;
当调用函数的时候,会根据函数的声明,来判断,函数调用的是否正确!
如何声明;
最简单的方法:把函数定义的第一行复制粘贴,然后在后面加个分号;
外部声明:extern
③调用;
函数的调用过程其实就是实参传递到形参的过程!
===》实参和形参;
实参:函数调用的时候,给函数传递的真实值;
形参:函数定义的时候的函数列表;
如何调用:
实参给形参传递的时候,是把实参的数“拷贝”一份给形参;
===》既然是拷贝,传递的方向,只能是实参--->形参,不能够形参--->实参!
函数的形参所占用的空间,是在函数调用的时候分配的,没调用的时候不分配空间;
调用结束函数形参所分配的空间由系统自动释放,程序员不用管;
函数调用的时候是按照顺序调用的,不是按照名字!实参的名字跟形参名字没有半毛钱关系!
===》第一个实参的数据拷贝给第一个形参;第二个实参的数据拷贝给第二个形参,。。。。
实参和形参的类型要一样!
函数的其他知识点:
1、函数的嵌套调用:函数A里面调用函数B; ==》一个函数里面调用其他函数!
2、函数的递归调用:也就是函数自己调用自己;
3、return:结束当前函数的执行,返回到函数调用的地方!
exit(); 结束当前程序的执行;
4、函数的执行有两个目的:
①只追求过程,不强调结果;===》void(空),来做函数的返回值类型;
②强调结果 ===》需要有返回值! 返回值类型不要用void;