北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 函数与预处理命令

C语言程序设计 第7章函数与预处理命令 四>比靠数去登什机
1 第7章 函数与预处理命令

第7章函数与预处理命令 2 71概述 72函数的定义与调用 73数组作函数参数 74函数的嵌套调用和递归调用 75局部变量和全局变量及其作用域 76变量的存储类别及变量的生存期 77函数的存储分类 78编译预处理 79多文件程序的调试方法 2005年3月
2005年3月 2

7,概述 3 C程序 源程序文件1 源程序文件n 函数1 函数n 函数1 函数m 使用 ①程序结构清晰,可读性好。 函数/②减少重复编码的工作量 的 好处8可多人共同编制一个大程序,缩短程序 设计周期,提高程序设计和调试的效率。 2005年3月
2005年3月 3 … … C程序 源程序文件n 函数1 函数m 源程序文件1 … … 函数1 函数n

例7】求一个整数的立方 4 int cube(intx)/函数定义* i return(X**): 3 main( 程序的执行总是 i f, a; 从main函数开始 printf( n Enter an integer number: scanf(%d",&a) f= cube(a) 函数调用 printf("%d* %d*%d=%d\n",a, a, a, f 程序运行情况如下: Enter an integer number: 2K 2*2:2=8 2005年3月
2005年3月 4 程序运行情况如下: Enter an integer number:2 2 * 2 * 2 = 8 程序的执行总是 从main函数开始

(1)一个C源程序可以由一个或多个源程序文件组 成。C编译系统在对C源程序进行编译时是以文件 为单位进行的。 (2)一个C源程序文件可以由一个或多个函数组成。 所有函数都是独立的。主函数可以调用其它函数, 其它函数可以相互调用。 (3)在一个C程序中,有且仅有一个主函数main C程序的执行总是从main函数开始,调用其它函数 后最终回到main函数,在main函数中结束整个程 序的运行。 2005年3月
2005年3月 5 ⑴ 一个C源程序可以由一个或多个源程序文件组 成。C编译系统在对C源程序进行编译时是以文件 为单位进行的。 ⑵ 一个C源程序文件可以由一个或多个函数组成。 所有函数都是独立的。主函数可以调用其它函数, 其它函数可以相互调用。 ⑶ 在一个C程序中,有且仅有一个主函数main。 C程序的执行总是从main函数开始,调用其它函数 后最终回到main函数,在main函数中结束整个程 序的运行

(4)函数的种类 从使用的角度看: 从函数定义形式分: ①标准函数(库函数)①有参函数: 库函数是由系统提供的。在主调(用)函数和被调 如: getchar(sim(x)等。(用)函数之间通过参数 在程序中可以直接调用进行数据传递,如 它们。附录A列出了C的 int cube (int x){…} 部分库函数。 ②无参函数: ②用户自定义函数。 如: getchar() 如:例71中的cube函数 在调用无参函数时,主调 函数不需要将数据传递给 无参函数。 2005年3月
2005年3月 6 从函数定义形式分: ① 有参函数: 在主调(用)函数和被调 (用)函数之间通过参数 进行数据传递, 如: int cube (int x) { … } ② 无参函数: 如:getchar( ) 在调用无参函数时,主调 函数不需要将数据传递给 无参函数

例7,2】无参函数的定义与调用。7 void welcome o { printf("**浓浓浓Ⅶn"); printf(" Welcome to China n); printf( Ⅶn"); man i welcome(; 程序的输出结果如下: Welcome to china kkkk;;;::κκκκκ;;::κκκκκκ 2005年3月
2005年3月 7 void welcome ( ) { printf("*********************************\n"); printf(" Welcome to China \n"); printf("*********************************\n"); } main( ) { welcome( );} 程序的输出结果如下: ********************************* Welcome to China *********************************

72.1函数的定义 8 函数定义的一般形式 函数类型函数名(类型名形式参数1,…) 说明语句 执行语句 类型省略时 例如:求两个数的最大值。 默认为int int max(int x, int y) 类型 i int z; Z=X>y:X: Y; 没有形式参数 return(z); 为无参函数 2005年3月
2005年3月 8 函数类型 函数名(类型名 形式参数1,… ) { 说明语句 执行语句 } 例如:求两个数的最大值。 int max(int x,int y) { int z; z = x > y ? x : y; return( z ); } 类型省略时 默认为int 类型 没有形式参数 为无参函数

形参也可以这样定义 如下定义都是错误的 int max(x, y) int max(x,y)或 int x, y; f int x,y; int max(x, y i int z; e nt x,y, Z9 IZ=x>y?x: y z=X>y?X: y; 或 return(z); return(z); int max(int x,y)5 0000 × 花括号中也可以为空,这种函数叫空函数 不能在函数体内定义其他函数,即函数不能嵌套定义。 2005年3月
2005年3月 9 int max(x,y) int x,y; { int z; z = x > y ? x : y; return( z ); } int max(x,y) { int x,y; …… } 或 int max(int x,y) { …… } 或 int max(x,y) int x,y,z; { z = x > y ? x : y; return( z ); } 形参也可以这样定义 √

722函数的调用 10 函数调用的一般形式: 函数名(实参表列) 在C语言中,把函数调用也作为一个表达式。 因此凡是表达式可以出现的地方都可以出现函数 调用。例如: ① welcome() 2 if(iabs(a)>max)max=iabs(a) ③m=max(c,max(a,b); 2005年3月
2005年3月 10 函数名(实参表列) 在C语言中,把函数调用也作为一个表达式。 因此凡是表达式可以出现的地方都可以出现函数 调用。例如: ① welcome( ); ② if (iabs (a)>max) max=iabs(a); ③ m=max(c,max(a,b)); 函数调用的一般形式:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 数组.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 while循环控制.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 i语句.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 程序的三种基本结构.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 C语言的基础.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 概述.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 文件.ppt
- 国防工业出版社:《网络安全技术教程》教材书籍电子版(PDF电子书,共六章,主编:赵小林).pdf
- 《Linux 基础及应用》 第九章 网络基础.ppt
- 《Linux 基础及应用》 第八章 应用程序.ppt
- 《Linux 基础及应用》 第七章 进程管理与系统监视.ppt
- 《Linux 基础及应用》 第六章 文件系统与文件管理.ppt
- 《Linux 基础及应用》 第五章 用户与组群管理.ppt
- 《Linux 基础及应用》 第四章 字符界面与 Shell.ppt
- 《Linux 基础及应用》 第三章 X Window图形代用户界面.ppt
- 《Linux 基础及应用》 第二章 安装与删除 Linux.ppt
- 《Linux 基础及应用》 第一章 Linux概况.ppt
- 《Linux 基础及应用》 第十章 网络服务器.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十八章 SQL Server应用实例.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十七章 VB/ SQL Server应用程序开发.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 指针.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 结构体与共用体.ppt
- 软件工程师培训系列教材:《Java语言基础》电子课件.ppt
- 《autocad2007快速入门》学习资料(共十一章).pdf
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件,第二版)第1-第7章.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术、第三章 多媒体数据压缩技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)霍夫曼编码、预测编码、统计编码、变换编码.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第三章 多媒体数据压缩技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第四章 多媒体硬基础.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)复习题.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第十章 分布式多媒体处理技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第十一章 多媒体应用.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第五章 多媒体软平台.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第六章 多媒体编程技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第七章 多媒体通信网络技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第八章 多媒体信息管理技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第九章 多模态人机交互技术.ppt
- 武汉理工大学:《数据结构》 第一章 绪论.ppt