- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数-C程序设计基础
六、函数 6.1 模块化程序设计思想 6.2 函数的分类 6.3 函数概念 6.4 函数的嵌套 6.5 函数的递归 6.6 变量的作用域和存储类别 6.7 使用库函数 6.8 程序举例 6.1 模块化程序设计思想 在程序设计过程中,为了有效地完成任务,把 所要完成的任务精心分割成若干相对独立,但相 互仍可有联系的任务模块,这样的任务模块还可 以继续细分成更小的模块。直至那些小模块变得 任务相对单纯,对外的数据交换相对简单,容易 编写,容易检测,容易阅读和维护。 在C语言中,使用函数来实现被细分了的各个 模块的代码 ? 函数是C源程序的基本模块, 它封装了完成某 一特定功能的程序代码和数据。 ? C语言不仅提供了极为丰富的库函数(如Turbo C提供了四百多个库函数),还允许用户建立 自己定义的函数。 6.2 函数的分类 在C语言中可从不同的角度对函数分类 : ? 从函数定义的角度 : 自定义函数和系统库函数 ? 从主调函数和被调函数之间数据传送的角度: 有参函数和无参函数 ? 从有无返回值的角度 : 有返回值函数和无返回值函数 6.3 函数概念 6.3.1 函数的定义 函数定义的一般格式: 函数值类型 函数名(参数说明表) { 函数体 } 其中: ? 函数值类型:函数返回值的类型。如:int float double char void 等 ,缺省按整型处理。 ? 无返回值的函数,函数值类型可选用void,如: void putpixel(int x,int y,int color) ? 函数返回值是指针,应选用相应的指针类型标识 符,如:char *gets(char *string) ? 函数名: 标识符,函数的名称。 ? 参数说明表:由带数据类型说明的参数构成: 类型名 变量名,类型名 变量名,... 这里的变量名称为形式参数,不给出具体数值。 调用该函数时,给出具体数值,称为实际参数。 ? 函数体:由说明语句和执行语句组成的程序模块。 【例6.2】编写使小写字符变为大写字符的函数。 char low_to_upper (char c) { if (c=ac=z) return c - =32; return c; } 【例6.3】编写函数,连续打印n个 *。 void print_star ( int n ) { int i; for (i=0; in; i++ ) printf(*) ; } 【例6.4】编写求字符串长度的函数。 int my_strlen(char s[ ]) { int i; for (i=0; s[i]!=\0; i++) ; return i; } 例3:编制求两整数最大公约数(greatest common divisor)的函数。 int gcd ( int a, int b) { int temp; while(b) { temp=a%b; a=b; b=temp; } return a; } 6.3.2 函数说明、调用及返回值 1.函数的说明 ? 调用函数必须遵循“先说明后调用”的原则。 ? 对库函数须把包含该函数原型(说明)的头文件 用include命令包含在源文件前部 ? Turbo C 中编有400 多个标准库函数。按功能分类 编组,分别在不同的头文件予以说明。 头文件 功 能 math.h 常用数学函数 stdio.h 输入输出函数 ctype.h 字符函数 string.h 字符串函数 ? 函数说明的一般形式: 函数值类型 函数名(参数说明表); ? 如函数值是整型或字符型,可不必说明; ? 如被调函数的定义在主调函数之前,可不必说明; ? 如不说明函数参数,系统不检查参数传递正确性; ? 参数说明表中可只说明形参类型,而无形参本身。 2
您可能关注的文档
- 出口退税申报系统无纸化企业数字证书驱动的安装-大连国家税务局.DOC
- 出生医学证明-成都妇女儿童中心医院.DOC
- 出国心得报告.PPT
- 出现侧弯什么是腰腿痛.PPT
- 伊顿VR–32调压器选择指引-Eaton.PDF
- 优化极限学习机的序列最小优化方法-西安交通大学学报.PDF
- 分布式测量系统服务窗口动态调度方法研究-自动化学报.PDF
- 优秀学校奖申报表-中华职业教育社.DOC
- 优雅致远新世代高等教育版图的变迁与重构-淡江大学.PDF
- 分量回归-嘉义大学.PPT
- 教育部中国特色学徒制课题:中国特色学徒制视域下职业教育专业课程改革研究.docx
- 教育部中国特色学徒制课题:现场工程师人才培养模式及评价标准研究.docx
- 教育部中国特色学徒制课题:中国特色学徒制内涵与特征研究.docx
- 教育部中国特色学徒制课题:中国特色学徒制实践案例分析与经验推广研究.docx
- 教育部中国特色学徒制课题:中国特色学徒制视域下教学关键要素改革研究.docx
- 2021版高中英语【新教材】人教版必修第一册unit 3 同步练习 (含解析)2184.pdf
- 2022-2023学年陕西省延安市宝塔四中九年级(上)期末语文试卷(附答案详解).pdf
- 11第十一章 国家风险管理.pdf
- 2022—2023年人教版八年级物理下册期末测试卷【含答案】.pdf
- (详细版)《西方行政制度》形考作业参考答案.pdf
文档评论(0)