- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 函数 函数 C语言的程序模块;也称为子例程(procedure) ANSI C 标准函数 如:printf( ),scanf( )等预先准备好的函数 支持常见的数学运算、字符串处理、输入输出等众多功能(见附录B) 专用函数库(厂商提供) 图象处理、用户界面、数据库访问…(Win32 API) 支持各种专用资源和设备的处理和控制 4.1 标准函数的使用 函数调用方式(函数调用表达式) 函数名(实在表达式1,实在表达式2,。。。) 先说明、后引用 #include 头文件 包含厂商提供的头文件(包含文件) 例如: 标准输入输出:stdio.h 字符串处理:string.h 数学函数:math.h 字符处理:ctype.h 例4-1:数学函数的使用 #include stdio.h #include math.h /* 数学函数头文件 */ main( ) { double x, y; /* 双精度数 */ scanf( “%lf”, x ); /* 读入x */ y = sin( x ); /* 求sin(x) */ printf( “sin(%lf) = %lf\n”, x, y ) /* 输出sin(x) */ printf( “cos(%lf) = %lf\n”, x, cos(x) ); /* 输出cos(x) */ } 函数原型的概念 代表函数的类型 包括函数参数个数、顺序、返回值类型 例如:标准函数的函数原型说明 double sqrt( double x ); 求 x 的平方根 double sin( double x ); 求 x 的正弦值 int rand( void ); 求一个随机数 /* void 表示无参数 */ 出现在头文件中 math.h 函数 sqrt 和 sin 的类型相同 函数原型相同;规定了实参的类型 随机数的产生 #include stdio.h #include stdlib.h main( ) // 阅读程序 { int i = 1; while( i = 20 ) { printf( “%10d”, 1 + rand()%6 ); if( 0 == i++%5 ) printf( “\n” ); } } 程序读解 循环 控制变量i i=1, i=20, i++ 循环 20 次 每次输出 1+ rand() % 6 取值为 1-6 的随机数 i%5 时输出\n 每5次循环,输出换行 总结 输出 20 个随机数,每 5 个数据在一行 函数调用的要点: 符合函数原型 参数类型、个数、顺序 返回值类型 函数调用式 可以出现在任何表达式出现的位置 以返回值参加运算 查阅参考手册 附录D:C语言的标准函数 附录E:Turbo C的图形函数等 4.2 自定义函数 目的 支持代码复用(reuse、重用) 支持软件模块化:C语言的程序结构 = 若干个函数 支持结构化程序设计 结构化程序设计的观点 自顶向下、逐步求精、信息隐蔽 算法设计首先考虑整体功能,逐步细化,考虑子功能的实现; 函数(子例程)是实现子功能的主要手段 函数的编制 基本结构 返回值类型 函数名(类型 参数名,类型 参数名…) { /* 形式参数 */ 变量说明(局部变量) 语句组 } 程序例:计算两个整数中的最大值 int max( int a, int b ) { if( a b ) return a; /* 返回a */ else return b; } 函数的调用 main( ) { int x, y; scanf( “%d%d”, x, y ); printf( “max = %d\n”, max(x, y) ); } 基本要求 实参和形参个数相等,按顺序匹配,类型相符 返回值作为函数调用表达式的值参加计算,类型应符合计算要求 函数调用过程 计算参数表达式(实参) 如:对于 max( x+20, y++ ),先求x+20和y++ 将求值结果传递给函数的参数(形参) 虚实结合、按值调用 开始执行函数中的语句 执行到最后一条语句,或return语句 得到返回的结果,返回 继续参加调用方的计算 没有返回值的函数 负责完成某个处理过程 不要求将计算结果返回给调用者 或仅通过参数返回数据 程序例 void read( int n, double x[ ] ) { int i; for( i=0; in; i++ ) /* 循环n次 */ scanf( “%lf”, x[i] ); /* 读入双精度数 */ } 例4-2:程序读解 #include stdio.
您可能关注的文档
- C语言程序设计(第二版)电子教案任正云 第6章 函数.ppt
- C语言程序设计(第二版)电子教案任正云 第7章数组.ppt
- C语言程序设计(第二版)电子教案任正云 第8章 指针.ppt
- C语言程序设计(第二版)电子教案任正云 第9章结构体和共用体.ppt
- C语言程序设计(第二版)电子教案任正云 第10章文件.ppt
- C语言程序设计(第二版)电子教案王伟 第1章.ppt
- C语言程序设计(第二版)电子教案王伟 第2章.ppt
- C语言程序设计(第二版)电子教案王伟 第3章.ppt
- C语言程序设计(第二版)电子教案王伟 第4章.ppt
- C语言程序设计(第二版)电子教案王伟 第5章.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 函数复习5.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 计算机基础知识.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 结构化实例7.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 结构体6.1.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 控制.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 算法初步.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 文件6.3.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 指针6.2.ppt
- C语言程序设计案例教程 高职计算机大类专业 熊锡义 第3章 数据类型及表达式.ppt
- C语言程序设计案例教程 高职计算机大类专业 熊锡义 第4章 结构化程序设计.ppt
最近下载
- 2024年驾照考试C1证科目一必过必刷题库及答案(共800题).pdf VIP
- 2025二年级上册道德与法治 第3课《团团圆圆过中秋》(第2课时)课件.ppt
- 大学语文 墨子兼爱.ppt
- 胖东来会计毕业论文.docx
- 【课件】共筑保密防线 公民人人有责 课件--2024-2025学年下学期全国保密宣传教育月主题班会.pptx VIP
- 小学音乐启蒙教育的论文.pdf VIP
- 情报分析能力培训课程.pptx VIP
- 事业单位面试考官测试题题库单选题.pdf VIP
- 幼儿园优质课件ppt大班社会《民族朋友多》.pptx VIP
- 第一单元+第三节《展望物联网》+课件+2025-2026学年川教版(2024)初中信息科技八年级上册.pptx VIP
文档评论(0)