- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言课件第还六章函数
第六章 函 数 ——结构化程序设计基础 结构化程序设计概述 6.1 函数的定义和调用 ⒉函数的定义 ⒊函数的调用 ⑵调用过程 关于返回值的几点说明: 举例:通过函数求 xn 。 6.2 变量的存储类型及作用域 ⒈auto存储类型 ⒊static(静态)存储类型 ⒋外部变量(extern存储类型) 关于外部变量的几点说明: 关于外部变量的几点说明: 外部变量应用举例:用外部变量交换两个变量的值。 外部变量的副作用 6.3 函数间的数据传递 数据传递方式 ⒈使用参数传递数据 ⑵传地址方式 ⒉外部变量传递参数 6.4 数组与函数参数 举例:通过函数求数组元素的平均值。 6.5 返回指针的函数 举例:在字符串中查找特定的字符。 6.6 指向函数的指针 举例:求a、b的最大值。 举例:通过参数传递,求a、b之和、之差。 6.7 递归函数 递归举例:求n!。 6.8 命令行参数 举例:回显命令行参数。 6.9 编译预处理 说明: ⑵带参数的宏定义 ⒉文件包含 文件包含举例:求半径为r的园面积、园周长。 ⒊条件编译 举例:通过条件编译选择求最大值或最小值 #include stdio.h void main(int argc, char *argv[ ]) { int i; for(i=1;iargc;i++) printf(“%s%c”,argv[ i ],(iargc-1)?’ ’:’\n’); } test How are you? C: argc 4 argv[3] argv[2] argv[1] argv[0] you?\0 are\0 Hello\0 test\0 chp6ex8 C 语言除了说明语句、执行语句及控制语句外,还有一类编译 预处理语句。该类语句的作用是在编译时对程序作一定的处理,满 足特定的处理要求。编译预处理时C语言的重要特征。 编译预处理语句的语法形式: #关键词 参数表 编译预处理语句不用;作为结束标志! ⒈宏定义预处理 ⑴不带参数的宏定义 作用:定义常量名,提高程序的可读性,便于修改。 格式: #define 宏名 字符串 #define PI 3.1415926 void main(void) { flaot r; scanf(“%f ”,r) printf(“%f\n”,PI*r*r); } 编译时用字符串替代宏名。 3.1415926 ⑴宏名一般用大写; ⑵编译时用字符串无条件替代宏名; #define PI 3.1415926; … PI*r*r 3.1415926;*r*r ⑶宏名的有效范围,从定义到程序尾。也可以通过#undef修改 定义范围。 #define G 9.8 void main(void ) { … } #undef G G的范围 ⑷可以在宏定义的字符串中使用已定义的宏名。 ⑸” ”字符串中的宏名不替换。 #define R 3.0 #define PI 3.14159 #define S PI*R*R printf(“S=%f”,S); 不替换。 格式: #define 宏名(参数表) 含参数的字符串 #define S( a , b ) a*b … area=S( 4 , 3 ); 替换过程: ①将实际参数替换宏定义的参数。 ②替换字符串中的参数。 ③替换整个宏。 4*3 带参的宏与函数的区别: 带参宏不分配内存单元,不返回值,只是在编译时按规则替换。 关于带参宏的说明: ①要严格按格式书写,否则会造成错误。 #define S (a,b) a*b S(3,4)被替换成: (a,b) a*b(3,4) ②参数有可能用到表达式时,参数字符要加()。 #define S(r) PI*r*r S(a+b)替换为:PI*a+b*a+b #define S(r) PI*(r)*(r) S(a+b)替换为:PI*(a+b)*(a+b) 格式: #include 被包含的文件名 #include ”被包含的文件名” 表示编译系统定义路径; “ ”表示用户指明路径。 作用:将指定的文件的内容和当前文件一起编译。 说明: ⑴一个#include只能包含一个文件。 ⑵被包含文件可以嵌套包含文件。 ⑶一般将宏定义及函数的原型声明放在包含文件中。 ⑷被包含的文件一般扩展名为.h,称为头文件。 #include “my.h” void main(void) { float r,fArea,fLen; scanf(“%f”,r); fArea=S(r); fLen=L(r
您可能关注的文档
- c语言教程(课件)表第9章.ppt
- c语言教程p三pt版讲义谭浩强第十章.ppt
- c语言教程元课件第09章.ppt
- c语言教类学课件之第4章顺序程序设计.ppt
- c语言教欧学课件之第2章算法.ppt
- c语言教票程(课件)第6章.ppt
- c语言教容程ppt第6章.ppt
- c语言教学课件之第1章c你语言概述.ppt
- c语言教学课件之第当3章数据类型表达式.ppt
- c语言经课件第二章.ppt
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
最近下载
- 2025年蛇年新春茶话会课件.pptx
- 汽车学会-2023汽车智能座舱分级与综合评价白皮书.pdf VIP
- 2024标准版离婚协议书6篇.docx VIP
- 岗梅林下种植技术规范-公示稿.pdf
- 《力》(教学设计)-2024-2025学年人教版(2024)初中物理八年级下册.docx VIP
- 小公司组织架构图及部门职责(4篇).pdf VIP
- 2020新译林版高中英语选修三全册课文翻译(英汉对照).pdf
- 2020新译林版高中英语选修第二册全册课文翻译(英汉对照).doc
- The Blair Witch Project《女巫布莱尔(1999)》完整中英文对照剧本.docx VIP
- 2020新译林版高中英语选修第一册课文翻译(英汉对照).docx
文档评论(0)