[理学]C语言第6章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[理学]C语言第6章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理学 语言 课件
- 资源描述:
-
1、Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计2 2/72/72第第6章章 函数与函数与编译预处理编译预处理6.16.1库函数库函数6.26.2函数定义和说明函数定义和说明6.36.3函数调用函数调用6.46.4函数参数函数参数6.56.5函数的嵌套调用和递归调用函数的嵌套调用和递归调用6.66.6变量的存储类型变量的存储类型6.76.7内部函数、外部函数内部函数、外部函数6.86.8编译预处理命令编译预处理命令第第6 6章章 函数与编译预处理函数与编译预处理Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程
2、序设计语言程序设计3 3/72/72第第6章章 函数与函数与编译预处理编译预处理(1)(1)函数的调用函数的调用(2)(2)函数的嵌套调用函数的嵌套调用(3)(3)函数的递归调用函数的递归调用(4)(4)局部变量和全局变量局部变量和全局变量(5)(5)变量的存储类别变量的存储类别(6)(6)编译预处理命令编译预处理命令本章重点本章重点第第6 6章章 函数与编译预处理函数与编译预处理Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计4 4/72/72第第6章章 函数与函数与编译预处理编译预处理第第6 6章章 函数与编译预处理函数与编译预处理常用方
3、法常用方法:#includevoid main()printf(“Hello world”);例例:在屏幕上打印在屏幕上打印 Hello worldHello world#includevoid main()void print_message();print_message();void print_message()printf(“Hello world”);Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计5 5/72/72第第6章章 函数与函数与编译预处理编译预处理第第6 6章章 函数与编译预处理函数与编译预处理1 1、一个较大的程序分
4、成几、一个较大的程序分成几个功能较为单一的子程个功能较为单一的子程序模块,用函数完成每序模块,用函数完成每个子程序的作用。个子程序的作用。2 2、一个、一个C C程序由一个主函程序由一个主函数和若干个其它函数构数和若干个其它函数构成。成。3 3、由主函数调用其它函数、由主函数调用其它函数,其他函数也可以相互,其他函数也可以相互调用。调用。4 4、同一函数可以被一个或、同一函数可以被一个或多个函数调用任意次。多个函数调用任意次。Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计6 6/72/72第第6章章 函数与函数与编译预处理编译预处理第第6
5、6章章 函数与编译预处理函数与编译预处理函数常识函数常识1、功能模块功能模块:求解较小问题的算法和程序称作求解较小问题的算法和程序称作“功能功能模块模块”,各功能模块可以先单独设计,然后将求各功能模块可以先单独设计,然后将求解所有子问题的模块组合成求解原问题的程序。解所有子问题的模块组合成求解原问题的程序。2、一个解决大问题的程序,可以分解成多个解决小一个解决大问题的程序,可以分解成多个解决小问题的模块,这就是问题的模块,这就是“自顶向下自顶向下”的模块化程序的模块化程序设计方法。设计方法。3、用一个或多个用一个或多个函数函数来实现这些功能模块。来实现这些功能模块。Jilin Universi
6、ty长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计7 7/72/72第第6章章 函数与函数与编译预处理编译预处理第第6 6章章 函数与编译预处理函数与编译预处理函数常识函数常识4、一个原程序文件由一个或多个函数组成。一个源、一个原程序文件由一个或多个函数组成。一个源程序文件是一个编译单位,即以程序文件是一个编译单位,即以源文件源文件为单位进为单位进行编译,而不是以函数为单位进行编译。行编译,而不是以函数为单位进行编译。5、程序的执行从、程序的执行从main函数开始,在函数开始,在main函函数中数中结束整个程序的运行。结束整个程序的运行。main函数是系统定义的。函数是系
7、统定义的。6、所有的函数都是、所有的函数都是平行平行的,不能嵌套定义,但可以的,不能嵌套定义,但可以互相调用,但不能调用互相调用,但不能调用main 函数。函数。Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计8 8/72/72第第6章章 函数与函数与编译预处理编译预处理第第6 6章章 函数与编译预处理函数与编译预处理函数函数:完成相对独立功能的程序完成相对独立功能的程序.标准函数:标准函数:由系统提供的库函数,不必由系统提供的库函数,不必从使用角度分定义直接引用,如从使用角度分定义直接引用,如fabs()等。等。用户自定义函数:用户自定义函
8、数:用以解决用户专门需要。用以解决用户专门需要。无参函数:无参函数:如如printsar();从函数形式分从函数形式分 有参函数:有参函数:如如 sin(x),sqrt(x);不传递数据不传递数据 主调函数被调用函数主调函数被调用函数 传递数据传递数据 Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计9 9/72/72第第6章章 函数与函数与编译预处理编译预处理6.1 6.1 库函数库函数1、定义在不同的头文件中定义在不同的头文件中2、用户使用时用户使用时,必须用必须用#include“#include“头文头文件件”把相应的头文件包含到程序
9、中来。把相应的头文件包含到程序中来。例例:数学库函数调用举例数学库函数调用举例#include#include#include#include main()main()double a,b;scanf(“%lf“,&a);b=sin(a);sin(a);printf(“%6.4lf”,b);Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1010/72/72第第6章章 函数与函数与编译预处理编译预处理6.1 6.1 库函数库函数 注意:注意:includeinclude命令必须以命令必须以#开头,文件名用一对双引开头,文件名用一对双引号号“”
10、“”或一对尖括号或一对尖括号括起来,括起来,二者的区别是二者的区别是:用用 表示编译时只按系统标准方式检表示编译时只按系统标准方式检索文件目录,而用索文件目录,而用“math.hmath.h”形式,则编译系形式,则编译系统先从目标文件所在的子目录中找统先从目标文件所在的子目录中找math.hmath.h文件文件,若找不到再按尖括号包围时的办法重新搜索,若找不到再按尖括号包围时的办法重新搜索一次。一次。includeinclude是命令,不是语句,结尾没有分是命令,不是语句,结尾没有分号。号。Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计11
11、11/72/72第第6章章 函数与函数与编译预处理编译预处理6.2 6.2 函数的定义和说明函数的定义和说明无参函数定义的一般形式:无参函数定义的一般形式:类型标识符函数名()类型标识符函数名()声明部分声明部分语句部分语句部分void print_message()printf(“Hello world”);Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1212/72/72第第6章章 函数与函数与编译预处理编译预处理#include#include void void printstarprintstar()()printfprintf(
12、“(“*nn”);”);例:输出图案例:输出图案 *Very Good!Very Good!*main()main()void void printstarprintstar();();函数定义和函数定义和功能实现功能实现函数调用函数调用函数名()函数名();方法方法printstarprintstar();();printfprintf(“Very Good!”);(“Very Good!”);printstarprintstar();();Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1313/72/72第第6章章 函数与函数与编译预处
13、理编译预处理有参函数定义的一般形式:有参函数定义的一般形式:6.2 6.2 函数的定义和说明函数的定义和说明类型标识符函数名(形式参数表列)类型标识符函数名(形式参数表列)声明部分声明部分语句部分语句部分int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1414/72/72第第6章章 函数与函数与编译预处理编译预处理6.2 6.2 函数的定义和说明函数的定义和说明空函数空函数类型说明符函数名()类型说明符函数名()例例:void dum
14、my()void dummy()Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1515/72/72第第6章章 函数与函数与编译预处理编译预处理6.2 6.2 函数的定义和说明函数的定义和说明注意注意:(1)(1)函数名和形式参数都是用户命名的标识符。在同一程序中,函数名和形式参数都是用户命名的标识符。在同一程序中,函数名必须唯一;形式参数只要在同一函数中唯一即可,可以函数名必须唯一;形式参数只要在同一函数中唯一即可,可以与其它函数中的变量同名。与其它函数中的变量同名。(2)(2)语言规定,不能在一个函数的内部再定义函数。语言规定,不能在一个
15、函数的内部再定义函数。(3)(3)对函数类型的说明,必须与对函数类型的说明,必须与returnreturn语句中返回值表达式的类语句中返回值表达式的类型一致。如果不一致,则以函数类型为准,由系统自动进行转型一致。如果不一致,则以函数类型为准,由系统自动进行转换。如果缺省函数类型,则系统一律按换。如果缺省函数类型,则系统一律按intint类型处理。类型处理。(4)(4)带参数的形式参数表中类型和变量必须成对出现,如下面的带参数的形式参数表中类型和变量必须成对出现,如下面的定义是错误的:定义是错误的:double double add(doubleadd(double x,yx,y)Jilin U
16、niversity长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1616/72/72第第6章章 函数与函数与编译预处理编译预处理6.2 6.2 函数的定义和说明函数的定义和说明函数的返回值函数的返回值 在函数定义的语句部分,常常有个在函数定义的语句部分,常常有个return返回语返回语句,函数的返回值也就是句,函数的返回值也就是return语句中的表达式语句中的表达式的值。函数类型应与的值。函数类型应与return语句中的表达式类型语句中的表达式类型一致。一致。return 语句的格式:语句的格式:return(表达式表达式);或或 return 表达式表达式;或或 re
17、turn;功能:功能:1、把、把return后面后面“表达式表达式”的值带给调的值带给调用用 函数;函数;2、把控制转向调用函数;、把控制转向调用函数;Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1717/72/72第第6章章 函数与函数与编译预处理编译预处理#includemain()c=max(a,b);printf(“Max is%d”,c);int max(int x,int y)int z;z=xy?x:y;return(z);没有返回值的函数就没有返回值的函数就没有没有returnreturn语句语句6.2 6.2 函数的定义
18、和说明函数的定义和说明Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计1818/72/72第第6章章 函数与函数与编译预处理编译预处理6.2 6.2 函数的定义和说明函数的定义和说明(1)声明为声明为void型的函数中不能包括带值的型的函数中不能包括带值的return 语语句;主函数体内不能出现句;主函数体内不能出现return语句。语句。(2)当函数没有当函数没有return语句时,以结束函数的大括号语句时,以结束函数的大括号 作为返回点。但这时并不表明函数没有返回值,这作为返回点。但这时并不表明函数没有返回值,这时的返回值是系统给的不确定
19、值。时的返回值是系统给的不确定值。(3)除了空值函数以外的所有函数都返回一个值,那么除了空值函数以外的所有函数都返回一个值,那么我们是不是非得去使用这个返回值呢?答案是否定我们是不是非得去使用这个返回值呢?答案是否定的。如果没有用它赋值,那它就被丢弃了。的。如果没有用它赋值,那它就被丢弃了。(4)在同一函数内,可用根据需要在多处出现在同一函数内,可用根据需要在多处出现return语语句,但函数第一次遇到句,但函数第一次遇到return时就立即停止执行,时就立即停止执行,并返回到主调函数并返回到主调函数 注意注意:Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程
20、序设计语言程序设计1919/72/72第第6章章 函数与函数与编译预处理编译预处理练习:练习:1 1、定义一个打印三行星的函数。、定义一个打印三行星的函数。2 2、定义一个函数求两个数的和。、定义一个函数求两个数的和。3 3、定义一个函数判断一个数的奇偶性。、定义一个函数判断一个数的奇偶性。4 4、输入一个年份,用函数判断是否是闰年。、输入一个年份,用函数判断是否是闰年。6.2 6.2 函数的定义和说明函数的定义和说明Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计2020/72/72第第6章章 函数与函数与编译预处理编译预处理函数说明和函数
21、原型函数说明和函数原型6.2 6.2 函数的定义和说明函数的定义和说明在一个函数中调用另一个函数在一个函数中调用另一个函数,即被调用函数。即被调用函数。需具备以下条件:需具备以下条件:(1)被调用的函数必须是已存在的函数。)被调用的函数必须是已存在的函数。(2)如果使用库函数)如果使用库函数,应用应用#include命令将相关的库函命令将相关的库函数数”包含包含”到本文件中来。到本文件中来。(3)如果使用用户自定义函数)如果使用用户自定义函数,而该函数在调用它的函而该函数在调用它的函数数(即主调函数即主调函数)后面后面,应在主调函数中对被调函数作应在主调函数中对被调函数作声明。声明。Jilin
22、 University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计2121/72/72第第6章章 函数与函数与编译预处理编译预处理#includemain()float add(float x,float y);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);函数的函数的声明声明函数的函数的调用调用函数的函数的定义定义Jilin University长春信息技术职业学院长春信息技术职业学院-
23、C语言程序设计语言程序设计2222/72/72第第6章章 函数与函数与编译预处理编译预处理函数的声明:函数的声明:把函数的名字、函数把函数的名字、函数类型以及形参的类型、个数类型以及形参的类型、个数和顺序通知编译系统,以便和顺序通知编译系统,以便在调用该函数时系统按此进在调用该函数时系统按此进行对照检查。行对照检查。float add(float x,float y)float z;z=x+y;return(z);函数的定义和声明区别函数的定义和声明区别float add(float x,float y);函数的定义函数的定义:对函数功能的确定。对函数功能的确定。包括指定函数名、函数值类包括指
24、定函数名、函数值类型、形参及其类型、函数体型、形参及其类型、函数体等,它是一个完整的,独立等,它是一个完整的,独立的函数单位。的函数单位。Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计2323/72/72第第6章章 函数与函数与编译预处理编译预处理说明说明1.1.如果被调用函数的定义出现在主调函数之前如果被调用函数的定义出现在主调函数之前,可以不必加以声明。可以不必加以声明。2.2.如果已在文件的开头如果已在文件的开头,已对本文件中所调用的已对本文件中所调用的函数进行了声明函数进行了声明,则在各函数中不必对其所调则在各函数中不必对其所调用的
25、函数再作声明。用的函数再作声明。3.3.声明的时候可以省略形参的变量名。声明的时候可以省略形参的变量名。6.2 6.2 函数的定义和说明函数的定义和说明 用函数原型声明函数用函数原型声明函数Jilin University长春信息技术职业学院长春信息技术职业学院-C语言程序设计语言程序设计2424/72/72第第6章章 函数与函数与编译预处理编译预处理练习:把下面的题补充完整,在主函数练习:把下面的题补充完整,在主函数中调用。中调用。1 1、定义一个打印三行星的函数。、定义一个打印三行星的函数。2 2、定义一个函数求两个数的和。、定义一个函数求两个数的和。3 3、定义一个函数判断一个数的奇偶性
展开阅读全文