第七章 函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数
了解函数定义的方法
1.定义无参函数的一般形式为:
类型标识符函数名()
{
声明部分
语句部分
}
2.定义有参函数的一般形式为:
类型标识符函数名(形式参数表列)
{
声明部分
语句部分
}
例如:
intmax(int x,int y)
{
intz;
/ *函数体中的声明部分*/
z=x>y?x∶y;
return(z);
}
3.定义空函数的一般形式为:
类型标识符函数名()
{}
例如:
dummy()
{}
函数调用注意事项:
(1)C程序的执行是从main函数开始的,如是在main函数中调用其他函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。
(2)所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数是系统调用的。
(3) 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
(4)在定义函数时指定的函数类型一般应该与return语句中的表达式类型一致。
掌握函数的调用方式:
1.函数的嵌套调用
2.函数的递归调用
简单了解局部变量与全局变量
1.填空题
有以下程序
#include
int fun(int a,int b)
{int c;
c=a+b;return c;
}
main()
{int x=6,y=7,z=8,r;
r=fun((x--,y++,x+y),z--);
printf("%d,%d,%d",r,x,y);
}
输出结果为___21,5,8___
2.填空题
有以下程序
#include
int fun2(int a,int b)
{int c;
c=(a*b)%3;return c;
}
int fun1(int a,int b)
{int c;
a+=a;b+=b;c=fun2(a,b);
return c*c;
}
main()
{int x=11,y=19;
printf("%d\n",fun1(x,y));
}
输出结果为__4___
3.填空题
有以下程序
#include
void fun(int a,int b,int c)
{a=b;b=c;c=a;}
main()
{int a=10,b=20,c=30;
fun(a,b,c);
printf("%d,%d,%d\n",c,b,a);
}
运行结果是__30,20,10___(掌握值传递与址传递)4.填空题
有以下程序
#include
char f(char x)
{return x*x+'a';}
main()
{char a,b=0;
for(a=0;a<4;a+=1)
{b=f(a);
putchar(b);}
}
输出结果为__abej____
5.选择题
有以下程序
#include
void f(int b[])
{int i;
for(i=2;i<6;i++)
b[i]*=2;
}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},i;
f(a);
for(i=0;i<10;i++)
printf("%d,",a[i]);
}
输出结果为(D)
A.1,2,6,8,10,12,14,16, 9,10
B.1,2,3,4,5,6,7,8,9,10,
C.1,2,3,4,10,12,14,16,9,10,
D.1,2,6,8,10,12,7,8,9,10,
6.选择题
有以下程序
#include
int fun1(double a)
{return(int)(a*=a);
}
int fun2(double x,double y)
{double a=0,b=0;
a=fun1(x);
b=fun1(y);
return(int)(a+b);
}
main()
{double w;
w=fun2(1.1,2.0);
printf("%4.2f",w);
}
输出结果为__A__
A.5.00
B.0.0
C.5.21
D.5
7.