C语言程序设计 (2).ppt

上传人:hyn****60 文档编号:88365642 上传时间:2023-04-25 格式:PPT 页数:52 大小:563.50KB
返回 下载 相关 举报
C语言程序设计 (2).ppt_第1页
第1页 / 共52页
C语言程序设计 (2).ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《C语言程序设计 (2).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计 (2).ppt(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第八章第八章 函数函数C语言程序设计 第八章函数C1C语言程序设计 第八章函数C第八章第八章 函数函数函数定义的一般形式函数参数和函数的值函数的调用函数的嵌套和递归调用局部变量和全局变量数组作为函数参数C语言程序设计 第八章函数CC语言程序设计 第八章函数C C语言程序设计 第八章函数C例例1.3void main()int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(Max=%d,c);int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);5,8 Max=8主主函数函数 子函数子函数函数调用函数

2、调用C语言程序设计 第八章函数C 一个较大的程序一般应分为若干个程序模块,一个较大的程序一般应分为若干个程序模块,每个模块实现一个特定的功能,这些模块称为子每个模块实现一个特定的功能,这些模块称为子程序,在程序,在C C语言中子程序用函数实现语言中子程序用函数实现。mainabca1abb1b2不能被调用不能被调用所有函数都是所有函数都是平行的,不能平行的,不能嵌套定义嵌套定义分为分为:库函库函数和自定义数和自定义函数函数C语言程序设计 第八章函数C8.1 8.1 概述概述例 8.1 简单的函数调用void main()printstar();print_message();printstar

3、();void printstar()printf(“*nn”);void print_message()printf(“Very Good!nn”);运行结果:*Very Good!*主函数主函数 子函数子函数1 1 子函数子函数2 2C语言程序设计 第八章函数Cv 关于函数的几点说明:关于函数的几点说明:(1)(1)复杂的程序通常由多个模块组成。复杂的程序通常由多个模块组成。(2)(2)一个源文件由一个源文件由一个主函数一个主函数和和若干个子函数若干个子函数组成。组成。(3)(3)C C 程序的执行从程序的执行从 main main 函数开始。函数开始。(4)(4)主函数以外的所有的函数都

4、是平行的。主函数以外的所有的函数都是平行的。(5)(5)从用户的角度看从用户的角度看,函数分函数分库函数库函数和和自定义函数自定义函数。(6)(6)从函数形式上看从函数形式上看,函数分函数分无参数函数无参数函数和和有参数函数有参数函数 8.1 8.1 概述概述C语言程序设计 第八章函数C定义定义函数的格式函数的格式类型标识符类型标识符 函数名(形式参数表)函数名(形式参数表)说明部分说明部分 语句语句若无参数,建议写若无参数,建议写void。是被初始化的内部变量,是被初始化的内部变量,寿命和可见性仅限于函寿命和可见性仅限于函数内部。数内部。若不说明类型,一律自若不说明类型,一律自动按整型动按整

5、型 int 处理。处理。int add(int x,int y)int z;z=x+y;return z;void printstar(void)printf(“*n”);没有没有“;”C语言程序设计 第八章函数Cint max(int x,int y)int z;z=(x=y?x:y);return(z);void output()printf(“Hello World!n”);或或 return z;无返回值的函数我们也无返回值的函数我们也可以称之为可以称之为过程过程,一般,一般用过程来显示一些提示。用过程来显示一些提示。int x,y;void blank()空函数空函数C语言程序设计

6、第八章函数C8.3 8.3 函数参数和函数的值函数参数和函数的值8.3.1 形式参数和实际参数形式参数和实际参数v 形式参数:形式参数:在定义函数时在定义函数时函数名后面括号中的变量名函数名后面括号中的变量名v 实际参数:实际参数:在调用函数时在调用函数时函数名后面括号中的参数函数名后面括号中的参数(可以是表达式)(可以是表达式)C语言程序设计 第八章函数C8.3 8.3 函数参数和函数的值函数参数和函数的值 c=max(a,b);(main 函数)函数)(max 函数)函数)max(int x,int y)int z;z=xy?x:y;return(z);void main()int a,b

7、,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(Max is%d,c);int max(int x,int y)int z;z=xy?x:y;return(z);实参实参 形参形参C语言程序设计 第八章函数C关于形参和实参的说明关于形参和实参的说明 形参在函数被调用前不占内存形参在函数被调用前不占内存;函数调用时为形参分配函数调用时为形参分配内存;调用结束,内存释放。内存;调用结束,内存释放。实参可以是常量、变量或表达式。实参可以是常量、变量或表达式。例如:例如:max(3,a+b);在被定义的函数中,必须指定形参的类型。在被定义的函数中,必须指定形参的类型。例

8、如:例如:max(int x,int y);形参与实参类型一致,个数相同。形参与实参类型一致,个数相同。实参变量对形参变量的数据传递是值传递,即实参变量对形参变量的数据传递是值传递,即单向传递单向传递,只能由实参传给形参。只能由实参传给形参。8.3 8.3 函数参数和函数的值函数参数和函数的值C语言程序设计 第八章函数C8.3 8.3 函数参数和函数的值函数参数和函数的值8.3.1 函数的返回值函数的返回值v 形式:形式:return(表达式表达式);或或 return 表达式表达式;v 功能:功能:使程序从被调用函数返回到调用函数中,同使程序从被调用函数返回到调用函数中,同时把返回值带给调用

9、函数。时把返回值带给调用函数。C语言程序设计 第八章函数C1 1、函数的返回值是通过、函数的返回值是通过 returnreturn 语句获得的。语句获得的。2、若无若无return语句,遇结束的语句,遇结束的 时,自动返回调用函数时,自动返回调用函数。8.3 8.3 函数参数和函数的值函数参数和函数的值void output()printf(“Hello World!”);int max(int x,int y)int z;z=xy?x:y;return(z);C语言程序设计 第八章函数C3、如果函数值的类型、如果函数值的类型和和return 语句中表达语句中表达式值类型不一式值类型不一 致,

10、系致,系统会自动转换为统会自动转换为函数函数类型类型。8.3 8.3 函数参数和函数的值函数参数和函数的值int max(float x,float y)float z;z=xy?x:y;return(z);main()float a,b;int c;scanf(%f,%f,&a,&b);c=max(a,b);printf(Max is%dn,c);省略也是省略也是 int 型型1.5,2.5 Max is 2C语言程序设计 第八章函数C8.4.1 函数调用的一般形式函数调用的一般形式v 形式:形式:函数名函数名(实参列表实参列表);或或 函数名函数名();v 实参表求值顺序:实参表求值顺序:

11、因因C版本而不同(版本而不同(Turbo C 自右向左自右向左)C语言程序设计 第八章函数Cvoid main()int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(Max is%d,c);int max(int x,int y)int z;z=xy?x:y;return(z);实参求值实参求值 由右至左!由右至左!实参到形参,实参到形参,类型顺序一致类型顺序一致未调用时未调用时不占内存不占内存8.3 8.3 函数参数和函数的值函数参数和函数的值C语言程序设计 第八章函数Cmain()int i=2,p;p=f(i,+i);printf(%d,p);i

12、nt f(int a,int b)int c;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);8.4 8.4 函数的调用函数的调用输出:输出:0main()int i=2,p;p=f(i,i+);printf(%d,p);int f(int a,int b)int c;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);输出:输出:1p=f(3,3);p=f(3,2);C语言程序设计 第八章函数C8.4.2 函数调用的方式函数调用的方式v 函数语句:函数语句:例例 printstar();v 函数表达式:函数表

13、达式:例例 m=max(a,b)*2;v 函数参数:函数参数:例例 printf(“%d”,max(a,b);m=max(a,max(b,c);总之,表达式可以出现的地方总之,表达式可以出现的地方函数调用都可以出现!函数调用都可以出现!C语言程序设计 第八章函数C8.4.3 对函数的声明对函数的声明v 对被调用函数的要求:对被调用函数的要求:必须是必须是已存在已存在的函数的函数 调用调用库函数库函数需加头文件需加头文件:#include include 用户自定义函数用户自定义函数:需要事先需要事先对被对被调用调用函数作声明函数作声明 例例 int max(int x,int y );注意注意

14、函数定义函数定义和和函数声明函数声明的区别!的区别!C语言程序设计 第八章函数Cvoid main()float a,b,c;scanf(%f,%f,&a,&b);c=add(a,b);printf(“Sum is%fn,c);float add(float x,float y)/*函数的定义函数的定义*/float z;z=x+y;return(z);float add(float x,float y);/*对被调用函数的声明对被调用函数的声明*/被调函数的定义在主函数前可以不加声明被调函数的定义在主函数前可以不加声明C语言程序设计 第八章函数Cmain()调调 max()结束结束max()

15、返回返回保存:保存:返回地址返回地址当前现场当前现场恢复:恢复:主调程序现场主调程序现场返回地址返回地址8.4 8.4 函数的调用函数的调用C语言程序设计 第八章函数Cmain调调函数函数a结束结束a函数函数调函数调函数b返回返回b函数函数返回返回8.5 8.5 函数的嵌套调用函数的嵌套调用嵌套调用嵌套调用v C语言不能嵌套定义函数,但可以嵌套调用函数语言不能嵌套定义函数,但可以嵌套调用函数。C语言程序设计 第八章函数Cvoid main(void)/*主函数主函数*/int a,b;scanf(“%d,%d”,&a,&b);printf(“The result is:%dn”,fun1(a,

16、b);8.5 8.5 函数的嵌套调用函数的嵌套调用int fun1(int x,int y)int z;z=fun2(x)+fun2(y);return(z);int fun2(int m)return(m*m);C语言程序设计 第八章函数C递归调用递归调用v 函数函数直接直接或或间接间接地调用自身,称为递归调用。地调用自身,称为递归调用。f()调调f调调f2调调f1f1()f2()int f(int x)int y,z;z=f(y);.return(2*z);int f1(int x)int y,z;z=f2(y);.return(2*z);int f2(int t)int a,c;c=f1

17、(a);.return(3+c);C语言程序设计 第八章函数Cv分析:分析:1 (n=0,1)递归公式:递归公式:n!=n*(n-1)!(n 1)v 递归过程分两个阶段递归过程分两个阶段 递推:递推:4!=43!3!=32!2!=21!1!=10!0!=1 未知未知 已知已知回归:回归:4!=43!=243!=32!=62!=21!=21!=10!=10!=1未知未知 已知已知C语言程序设计 第八章函数Cvoid main()/*主函数主函数*/float fac(int n);/*函数声明函数声明*/int n;float y;printf(input a integer number:);

18、scanf(%d,&n);y=fac(n);printf(%d!=%10.0f,n,y);float fac(int n)/*被调函数被调函数*/float f;if(n0)printf(n%c”,s,d);有两个盘子时有两个盘子时,我们定义函数我们定义函数hanoi2:hanoi2(char a,char b,char c)move(a,b);move(a,c);move(b,c);/*结论结论,可以通过可以通过hanio2,将两个盘子从任意针移至另一针将两个盘子从任意针移至另一针*/顺序为:源,辅助,目的顺序为:源,辅助,目的 有三个盘子时有三个盘子时,定义函数定义函数hanoi3:han

19、oi3(char a,char b,char c)hanoi2(a,c,b);move(a,c);hanoi2(b,a,c);/*hanoi3可可移动三个盘子移动三个盘子*/C语言程序设计 第八章函数C有四个盘子时有四个盘子时,定义函数定义函数hanoi4:hanoi4(char a,char b,char c)hanoi3(a,c,b);move(a,c);hanoi3(b,a,c);/结论结论:*hanoi4可以将四个盘子从任意一针移至另一针可以将四个盘子从任意一针移至另一针*/推广推广推广推广:hanoin:hanoin(char a,char b,char c)hanoin-1(a,c

20、,b);/*实际程序中不能有实际程序中不能有hanoin-1这样命名的函数这样命名的函数*/move(a,c);hanoin-1(b,a,c);/*可以看出可以看出,n-1是将问题逐步简化的关键是将问题逐步简化的关键,怎样处理怎样处理n-1呢呢?*/既然既然n是一个不断变化的量是一个不断变化的量,可以考虑作为一个函数参数可以考虑作为一个函数参数:hanoi(int n,char a,char b,char c)hanoi(n-1,a,c,b);move(a,c);hanoi(n-1,b,a,c);C语言程序设计 第八章函数C通过上面分析通过上面分析,可以看出可以看出:将将n 个盘子从个盘子从A

21、针针移到移到C针针可以分解为下面三个步骤:可以分解为下面三个步骤:1.将将A 上上n-1个个盘子移到盘子移到 B针针上(借助上(借助C针);针);2.把把A针上剩下的一个盘子移到针上剩下的一个盘子移到C针上;针上;3.将将n-1个盘子从个盘子从B针移到针移到C针上(借助针上(借助A针)。针)。事实上,上面三个步骤包含两类操作:事实上,上面三个步骤包含两类操作:1.将将n-1个个盘盘子子从从一一个个针针移移到到另另一一个个针针上上(n1),这这是是一一个个递递归归的过程;的过程;2.将将1个盘子从一个针上移到另一针上。个盘子从一个针上移到另一针上。于于是是用用两两个个函函数数分分别别实实现现上上

22、面面两两类类操操作作,用用hanoi函函数数实实现现第一类操作,用第一类操作,用move函数实现第函数实现第2类操作。类操作。8.6 8.6 函数的递归调用函数的递归调用C语言程序设计 第八章函数C/*程序中的程序中的2个被调用函数个被调用函数*/void move(char source,char dest)printf(%c-%cn,source,dest);void hanoi(int n,char a,char b,char c)if(n=1)move(a,c);else hanoi(n-1,a,c,b);move(a,c);hanoi(n-1,b,a,c);例例8.9 8.9 用递归

23、方法求用递归方法求HanoiHanoi问题问题C语言程序设计 第八章函数C /*Hanoi塔塔问题主问题主程序程序*/#include void main()int m;printf(input the number of diskes:);scanf(%d,&m);printf(the step to moving%3d diskes:n,m);hanoi(m,A,B,C);C语言程序设计 第八章函数C运行结果:运行结果:输入:输入:3输出:输出:The step to moving 3 diskes:A-CA-BC-BA-CB-AB-CA-C演示C语言程序设计 第八章函数Cv 数组元素作函

24、数参数与普通变量相同数组元素作函数参数与普通变量相同(值传递值传递)8.7 8.7 数组作为函数参数数组作为函数参数 int max(int a,int b)return(a=b)?a:b);void main()int arr3;scanf(“%d%d”,&arr1,&arr2);arr0=max(arr1,arr2);v 数组名作参数可以传递整个数组数组名作参数可以传递整个数组(地址传递地址传递)C语言程序设计 第八章函数Cfloat average(float array10 )int i;float aver,sum=0;for(i=0;i10;i+)sum=sum+arrayi;av

25、er=sum/10;return(aver);void main()float average(float array 10);/*函数声明函数声明*/float score10=83,84,85,88,95,91,85,99,90,80;float aver;aver=average(score);printf(“average score is:%5.2f”,aver);程序输出:程序输出:average score is:88.008.7 8.7 数组作为函数参数数组作为函数参数score 实参实参 形参形参C语言程序设计 第八章函数C局部变量局部变量内部变量内部变量在函数内部定义的变量

26、,只在本函数内部有效。在函数内部定义的变量,只在本函数内部有效。main函数中定义的变量只能在函数中定义的变量只能在main函数中使用函数中使用不同函数中相同名字的变量,不同函数中相同名字的变量,占不同内存单元占不同内存单元。形参属于局部变量。形参属于局部变量。在复合语句中也可以定义变量,它们也是局部变量,在复合语句中也可以定义变量,它们也是局部变量,只在该复合语句中有效。只在该复合语句中有效。8.8 8.8 局部变量与全局变量局部变量与全局变量C语言程序设计 第八章函数C8.8 8.8 局部变量与全局变量局部变量与全局变量float f1(int a)int b,c;.char f2(int

27、 x,int y)int i,j;main()int m,n;.a,b,c有效有效x,y,i,j有效有效 m,n有效有效C语言程序设计 第八章函数C8.8 8.8 局部变量与全局变量局部变量与全局变量void main()/*不同函数中同名变量不同函数中同名变量*/int a,b;a=3;b=4;printf(main:a=%d,b=%dn,a,b);sub();printf(main:a=%d,b=%dn,a,b);void sub(void)int a,b;a=6;b=7;printf(sub:a=%d,b=%dn,a,b);运行结果:运行结果:main:a=3,b=4sub:a=6,b=

28、7main:a=3,b=4C语言程序设计 第八章函数C 全局变量全局变量外部变量外部变量在在所有函数之前所有函数之前定义的全局变量可被本文件中所有函数定义的全局变量可被本文件中所有函数共用。共用。全局变量的有效范围是它定义的位置到本源文件结束全局变量的有效范围是它定义的位置到本源文件结束全局变量增加了函数之间的联系通道。全局变量增加了函数之间的联系通道。全局变量与局部变量重名时,在函数内部将屏蔽全局变全局变量与局部变量重名时,在函数内部将屏蔽全局变量。量。全局变量在程序执行的全过程都占用存储单元。全局变量在程序执行的全过程都占用存储单元。过多的全局变量时函数之间的过多的全局变量时函数之间的“耦

29、合性耦合性”增加,不利于增加,不利于程序的移植。程序的移植。过多的全局变量使程序的可读性变差。过多的全局变量使程序的可读性变差。8.8 8.8 局部变量与全局变量局部变量与全局变量C语言程序设计 第八章函数C int p=1,q=5;float f1(int a)int b,c;.char c1,c2;char f2(int x,int y)int b,c;.void main()int x,y;int c1,c2;局部变量局部变量局部变量局部变量局部变量局部变量全局变量全局变量全局变量全局变量8.8 8.8 局部变量与全局变量局部变量与全局变量C语言程序设计 第八章函数C例例8.15 有一个

30、一维数组,内放有一个一维数组,内放10个学生的成绩,写一个学生的成绩,写一个函数,求平均分、最高分和最低分。个函数,求平均分、最高分和最低分。分析:根据题目要求,从这个函数中应该得到分析:根据题目要求,从这个函数中应该得到3个值,个值,分别代表分别代表平均分平均分、最高分最高分和和最低分最低分,这三个值可以都,这三个值可以都通过全局变量获得。通过全局变量获得。8.8 8.8 局部变量与全局变量局部变量与全局变量C语言程序设计 第八章函数Cfloat Max=0,Min=0;float average(float array,int n)int i;float aver,sum=array0;M

31、ax=Min=array0;for(i=1;iMax)Max=arrayi;else if(arrayiMin)Min=arrayi;sum=sum+arrayi;aver=sum/n;return(aver);void main()float ave,score10;int i;for(i=0;i10;i+)scanf(“%f”,&scorei);ave=average(score,10);printf(“%f,%f,%f”,Max,Min,ave);C语言程序设计 第八章函数C动态存储方式与静态存储方式动态存储方式与静态存储方式 变量从其作用域变量从其作用域(空间上空间上)角度可以分为全局

32、变量和局角度可以分为全局变量和局部变量,从变量值的存在时间部变量,从变量值的存在时间(生存期生存期)角度可以分为静角度可以分为静态存储方式和动态存储方式。态存储方式和动态存储方式。静态存储方式静态存储方式是指在程序运行期间分配固定的存储空间,是指在程序运行期间分配固定的存储空间,即只要程序在运行,这种变量的值就一直存在,即只要程序在运行,这种变量的值就一直存在,如全局如全局变量变量。动态存储方式动态存储方式是在程序运行期间根据需要动态分配存储是在程序运行期间根据需要动态分配存储空间,如函数中的局部变量,当执行该函数内容时存在,空间,如函数中的局部变量,当执行该函数内容时存在,函数调用完成时它消

33、失。函数调用完成时它消失。C语言中的变量有两个属性:语言中的变量有两个属性:数据类型和存储类别数据类型和存储类别,其中,其中存储类别在上面两大类存储类别在上面两大类 的基础上又可具体分为的基础上又可具体分为4种:种:auto、static、register、externC语言程序设计 第八章函数Cauto(自动)型自动)型 存放在堆栈区域中。属于一时性存储,其存储存放在堆栈区域中。属于一时性存储,其存储空间可以被若干变量多次覆盖使用。空间可以被若干变量多次覆盖使用。关键字关键字“auto”auto”可以省略。可以省略。static(静态)型静态)型 存放在内存静态区域中,存放在内存静态区域中,

34、用用staticstatic声明的局部声明的局部变量值在函数调用后不消失变量值在函数调用后不消失,在下一次函数调用时,在下一次函数调用时该变量已经有值,这个值就是上一次函数调用时的该变量已经有值,这个值就是上一次函数调用时的值。值。8.98.9变量的存储类别变量的存储类别C语言程序设计 第八章函数C8.98.9变量的存储类别变量的存储类别例例8.17 static局部变量的使用局部变量的使用#include void main()int a=2,i;for(i=0;i3;i+)printf(“%d ”,f(a);f(int a)auto int b=0;static int c=3;b=b+1

35、;c=c+1;return(a+b+c);结果:结果:7 8 9C语言程序设计 第八章函数C注意:注意:static 和全局变量若不初始化,自动赋和全局变量若不初始化,自动赋 0。static 型型局部变量的初始化仅执行一次。局部变量的初始化仅执行一次。用用extern 声明外部变量,可以扩展它在程序中声明外部变量,可以扩展它在程序中的作用域。的作用域。register(寄存器)型寄存器)型 (一般情况下不必这样指定)一般情况下不必这样指定)存放在存放在CPU的通用寄存器中的通用寄存器中,用于提高程序的执,用于提高程序的执行效率。行效率。extern(外部)外部)型型 存放在内存静态区域中。存

36、放在内存静态区域中。C语言程序设计 第八章函数C8.98.9变量的存储类别变量的存储类别例例8.20 用用extern声明外部变量声明外部变量#include void main()int max(int,int);extern int A,B;*extern 声明声明*printf(%dn,max(A,B);int A=13,B=-8;*定义外部变量定义外部变量*int max(int x,int y)int z;z=xy?x:y;return(z);C语言程序设计 第八章函数C内部函数内部函数n只能被本文件中其它函数所调用,定义形式:只能被本文件中其它函数所调用,定义形式:static 类

37、型标识符类型标识符 函数名(形参表)函数名(形参表)外部函数外部函数n可以为其它文件中的函数调用,定义形式:可以为其它文件中的函数调用,定义形式:extern 类型标识符类型标识符 函数名(形参表)函数名(形参表)n调用文件中也要用调用文件中也要用extern声声明明C语言程序设计 第八章函数C进入进入Turbo C集成环境。集成环境。建立并编辑这些文件,这里是四个文件建立并编辑这些文件,这里是四个文件file1.c、file2.c、file3.c、file4.c,将它们保存在磁盘将它们保存在磁盘相同路径相同路径下。下。File-New 创建一个创建一个“项目文件项目文件”Project,不包

38、括任何程序不包括任何程序语句语句,只包括组成项目的所有文件名。只包括组成项目的所有文件名。file1.c file2.c file3.c file4.c,存盘存盘File-Save,c:tcaa.prj,并更改并更改Project菜单下的菜单下的 Project name 也是也是 c:tcaa.prj。对于对于aa.prj文件,按文件,按F9进行编译连接,按进行编译连接,按Ctrl+F9(或者或者Run),可以运行可执行文件可以运行可执行文件aa.exe。8.11 8.11 如何运行一个多文件程序如何运行一个多文件程序C语言程序设计 第八章函数C进入进入Turbo C+集成环境。集成环境。建

39、立并编辑这些文件,这里是四个文件建立并编辑这些文件,这里是四个文件file1.c、file2.c、file3.c、file4.c,将它们保存在磁盘上。将它们保存在磁盘上。选择选择Project子菜单中子菜单中Open project菜单项,会弹出对话框要菜单项,会弹出对话框要求输入项目名称,选择一个自己的目录并输入项目名称。求输入项目名称,选择一个自己的目录并输入项目名称。选择选择Project子菜单的子菜单的Add item菜单菜单项,项,会弹出对话框要求会弹出对话框要求输入文件名称,找到要加入项目中的文件,每找到一个文件输入文件名称,找到要加入项目中的文件,每找到一个文件就选中就选中(用鼠

40、标左键单击一下用鼠标左键单击一下)它并单击它并单击Add按钮,直到所有文按钮,直到所有文件都添加到项目中了,最后单击件都添加到项目中了,最后单击Done按钮结束。按钮结束。在在Compile菜单中选择菜单中选择Built all菜单项,将编译并连接这个项菜单项,将编译并连接这个项目中的所有文件,形成可执行文件。目中的所有文件,形成可执行文件。运行可执行文件运行可执行文件(Run-Run或者或者Ctrl+F9)8.11 8.11 如何运行一个多文件程序如何运行一个多文件程序C语言程序设计 第八章函数C函数是一系列程序语句函数是一系列程序语句,它们被集中在一起并起一个名字它们被集中在一起并起一个名

41、字;函数通常需要声明函数通常需要声明(除(除int型或位置在型或位置在main()之前)之前);每一个函数都必须有具体的定义,描述该函数的细节;每一个函数都必须有具体的定义,描述该函数的细节;有返回值的函数应该返回一个与其声明类型相匹配的值;有返回值的函数应该返回一个与其声明类型相匹配的值;void型的函数没有返回值;型的函数没有返回值;在函数内部定义的变量,包括函数的形参都是局部变量,它在函数内部定义的变量,包括函数的形参都是局部变量,它们在函数的外部是不可见的;们在函数的外部是不可见的;当函数返回时,它精确地回到它被调用的那一点;当函数返回时,它精确地回到它被调用的那一点;一般运用逐步求解的方法,从主函数开始逐步调用各个功能一般运用逐步求解的方法,从主函数开始逐步调用各个功能函数。函数。本章小结本章小结C语言程序设计 第八章函数CTHE END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com