- 0
- 0
- 约3.66千字
- 约 16页
- 2018-04-28 发布于福建
- 举报
C程序设计第7章 程序模块结构和C函数
第7章 程序的模块结构和C函数 内容提要 本章从模块化程序设计的角度,介绍如何编制所需要的C函数 包括函数的定义、调用方法,调用函数和被调用函数之间如何进行数据传递,变量和函数的存储类型对函数调用的影响,函数的递归调用 最后介绍如何向main()函数传递数据。 C程序的模块结构 1. 模块化程序设计的特点 根据模块化程序设计的思想,对于复杂的问题都可以采用自顶向下(或自底向上)、逐步求精的方法将其分解成若干个相对独立的子问题。每个子问题对应一个功能独立的程序模块,将这些模块有机地连接在一起,构成一个完整的程序。 2. C程序的模块结构 C函数的定义和调用 1. C函数的定义 C函数的定义格式有两种:传统格式和现代格式。传统格式也称KR格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。 2. C函数的调用 调用函数和被调用函数之间的数据传递 当一个函数调用另一个函数时,函数之间传递数据的方式有3种,即虚实结合方式、函数返回值方式和全局变量方式,用得最多的是虚实结合方式。 1、虚实结合方式 虚实结合方式是在形式参数(简称形参)和实际参数(简称实参)之间进行的数据传递。虚实结合适用于所有的有参函数,传递的数据可以是变量、数组、指针、结构、函数等。 2 函数返回值方式 存储类型对函数调用的影响 变量的存储类型对函数调用的影响 函数的存储类型对函数调用的影响 函数的递归调用 递归调用是一个函数直接或间接地调用自己,前者称为直接递归,后者称为间接递归。 递归调用的函数称为递归函数。由于递归非常符合人们的思维习惯,而且许多数学函数及许多算法或数据结构都是递归定义的,因此递归调用颇具实用价值。 main()函数的参数和返回值 除了在递归程序中可能出现main函数自己调用自己的情况外,main函数很少被其他函数调用。所以,我们前面用到的main函数一概写成: main() 当然也可以写成: void main(void) 但是,main函数也会有参数和返回值,本节介绍main函数的参数、返回值及其应用。 1. 命令行参数 2. main()函数的参数 本章总结 本章应重点掌握函数的定义方式及函数的数据类型、存储类型、形式参数和返回值的概念。函数的调用方法,包括函数名调用、函数指针调用、递归调用、表达式调用、表达式语句调用及什么时候要进行函数类型说明,调用函数和被调用函数之间传递单个数据、指针、数组、字符串的方法,包括调用函数将它们传递给被调用函数及被调用函数将它们返回给调用函数。 本章难点是函数之间数据传递的方式、方法和效果,变量和函数的存储类型对函数调用的影响,函数递归调用过程的分析,以及main函数的参数和返回值的使用。 本章习题 一、选择题 1. 以下函数的数据类型是____。 fun(float x) { float y; y=3*x-4; return y; } A. int B. 不确定 C. void D. float 2. 在下列关于C函数定义的叙述中,正确的是____。 A. 函数可以嵌套定义,但不可以嵌套调用 B. 函数不可以嵌套定义,但可以嵌套调用 C. 函数不可以嵌套定义,也不可以嵌套调用 D. 函数可以嵌套定义,也可以嵌套调用 本章习题 3. 若函数为int型,变量z为float型,则该函数体内的语句return(z);返回的值是____。 A. int型 B. float型 C. 不定 D. 不确定 4. 在C语言中,函数的隐含存储类型是____。 A. auto B. static C. extern D. 无存储类型 5. 有以下函数: char *fun(char *p) { return p; } 该函数的返回值是____。 A. 无确切的值 B. 形参p中存放的地址 C. 一个临时存储单元的地址 D. 形参p自身的地址 本章习题 6. 以下所列各函数定义的首部中,正确的是____。 A. void play(int ,int) B. void play(int a,b) C. void play(int a,int b) D. sub play(a as integer,b as integer) 7. 在C语言中,形参的缺省存储类型是_
您可能关注的文档
- 8线段长短比较(1课时) .ppt
- 8胡家凤,幼儿园一日活动组织与实施 .ppt
- 8致女儿信 .ppt
- 8艺术创作心理动机 .ppt
- 8艾滋病咨询 .ppt
- 8表格妙用 .ppt
- 8经济政治与社会第八课-我国民主政治发展道路87442 .ppt
- 8经济政治与社会第八课-我国民主政治发展道路 .ppt
- 8正义胜利 .ppt
- 8讲文献辨伪与考证 .ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 2025年渤海船舶职业学院单招笔试数学试题库含答案解析.docx VIP
- 三年级数学下册计算题大全100.doc VIP
- 【2026-01-11】《中华人民共和国危险化学品安全法》解读丨简洁版.pptx VIP
- 2024年新疆高考理科综合试卷(含答案解析).docx
- 《王玄览玄珠录的道教思想.doc VIP
- 人教版七年级英语上册完形填空、翻译、阅读理解训练含参考答案-精选5套.docx VIP
- 微信原创文章怎么修改,原创素材怎么利用?20170401.doc VIP
- 双轴搅拌机检修工艺规程.pdf VIP
- 山东省青岛市李沧区2024-2025学年八年级上学期期末考试数学试卷 (原卷版+解析版).docx VIP
- 双轴搅拌机检修规程.doc VIP
原创力文档

文档评论(0)