第七章 函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.

相关文档
最新文档