1.函数的作用?
函数分为库函数和自定义函数。库函数就是C语言系统自带的函数,而自定义函数就是用户自定义的函数。无论那种函数,充分发挥其功能,都可以使程序容易编写,阅读,调试和修改。
2.怎样定义函数,如何调动函数,定义函数与声明函数有和区别?
以下已该代码为例:
#include<stdio.h>
int sum(int a,int b,int c);
int main (){
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
d=sum(a,b,c);
printf("%d",d);
}
int sum(int c,int a,int b){
int n[4]={0},i=c;
n[1]=c;n[2]=a;n[3]=b;
for(int j=2;j<4;j++){
if(i<=n[j]){
i=n[j];
}
}
return i;
}
定义函数
函数的定义的一般格式:
函数类型 函数名 (形式参数表){
函数实现过程;
}
#其中函数类型指的是函数运行后返回的数据类型
#注意函数的定义可以放在main函数之后,也可以放在函数的声明之后(此时函数的声明就可有可无了)
例如:
#该函数为自定义函数,函数类型——int;函数名——sum;形式参数表——int c,int a,int b;后面的所用为函数实现过程。
int sum(int c,int a,int b){
int n[4]={0},i=c;
n[1]=c;n[2]=a;n[3]=b;
for(int j=2;j<4;j++){
if(i<=n[j]){
i=n[j];
}
}
return i;
}
定义函数与声明函数的区别
定义函数 | 声明函数 | |
(首部)末尾有无分号 | 没有 | 有 |
能否删除 | 不能 | 能 |
调动函数
调用前提:调用库函数则在程序最前面必须用#include命令包含头文件(如在调用printf函数之前,需要运行#include<stdio.h>);在调用自定义函数时,则必须要有相对应的函数定义。
函数的调用过程:在执行c语言程序时,先从main函数开始,如果遇到某个调用的函数,则停止执行main函数,转而执行相应的函数,该函数执行完后,再返回到main函数暂停的位置继续执行main函数。
可以理解为:
main函数->被调用的函数->main函数
函数调用形式:
函数名(实际参数表)
例如例子函数中的
sum(a,b,c)
对于计算功能的函数,函数调用后有两种情况;
赋值语句:例如,d=sum(a,b,c);
输出函数的实参:例如,printf(“%d”,sum(a,b,c));
3.在调动函数时,参数是如何传递的?
已知主调函数(main)的参数为实参;函数定义时,位于函数首部的参数为形参。
行参与实参必须一一对应,两则数量相同,类型尽量一致。当函数被调用时实参的依次被赋值给形参。
#注意形参的改变一般是不会改变实参的
4.变量与函数有什么关系,如何使用局部变量和全局量?
一般来说局部变量在函数(复合语句)中被定义,并在该函数(复合语句)中被使用。而全局变量则被定义在所有函数之外,被层序中所有函数共同使用。
#注意:在一个函数中如果该函数的局部变量与全局变量同名,则同名的全局变量在该函数中无法使用;相识的还有,当函数局部变量与复合语句局部变量相同时则以复合语句变量为准。
5.什么是静变量?
变量分为两种:一种是自动变量,当变量的生存周期结束后便会消失;另一种是静态变量(一种特殊的局部变量),其生存周期会持续到程序结束。
#全局变量和静态局部变量都存储在静态存储区,而动态变量存储在动态存储区。