已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章函数 7 1库函数7 2函数的定义和返回值7 3函数的调用7 4函数的说明7 5调用函数和被调用函数之间的数据传递7 6程序举例 7 1库函数 库函数是由C语言提供的 不需要另外编写 使用库函数时 在调用之前必须使用 include 包含对应的 头文件 输入输出函数 数学函数 字符函数 字符串函数 include stdio h include math h include ctype h include string h 库函数的调用有两种出现形式 出现在表达式中 作为独立的语句出现 y pow x 2 5 1 3 printf n 7 2函数的定义和返回值 C语言虽然提供了丰富的库函数 但这些函数的功能已经被开发人员编写好了 直接来调用就可以了 这一节我们将学习自己来编写函数 自己编写的函数成为用户自定义函数 函数定义的一般形式如下 函数返回值的类型名函数名 类型名形式参数1 类型名形式参数2 说明部分语句部分 标识符 变量名 函数的首部 函数体 该函数的返回值由它决定 省略时默认为int类型 例如 doubleadd doublea doubleb doubles s a b returns 退出调用函数 并带回返回值 return s 注意 此函数不能执行 只有必须在主函数中调用它才行 函数的调用 7 3函数的调用 调用形式 函数名 实际参数 实际参数的个数和类型必须于形式参数一致 在主函数中调用用户编写的函数有两种方式 作为表达式出现在允许表达式出现的任何地方 y add 3 0 4 0 if add x y 0 某语句 作为独立的语句出现 add x y 举例说明 7 3函数的调用 includemain doubley p q scanf lf lf p q 5 5 3 5 y doubleadd doublea doubleb doubles s a b returns 调用刚才遍好的用户自定义函数 调用时函数名要相同 并且实际参数的个数和类型必须于形式参数一致变量名可以不同 s a b 3 5 5 5 传递 传递 9 0 退出函数 将s的值作为该函数的返回值 所以该函数的值为9 0 当退出用户自定义函数时 该函数中的变量全部释放 9 0 9 000000 用户在编写完整的程序时 用户自定义函数可以放在主函数的前面 也可以放在主函数的后面 不过要是放在主函数的后面 则要进行函数说明 7 4函数的说明 includedoubleadd doublea doubleb doubles s a b returns main doubley p q scanf lf lf includemain doubley p q scanf lf lf 注意 用户自定义函数无论放在主函数的前面还是后面都没有关系 因为程序都是先从main函数开始执行 不过当用户自定义函数出现在主函数之后 一定要对该函数进行函数说明 函数返回值的类型为int或char除外 函数说明一般都是在程序的开头进行 函数说明的一般形式 类型名函数名 参数类型1 参数类型2 类型名函数名 参数类型1参数名1 参数类型2参数名2 doubleadd double double doubleadd doublex doubley includedoubleadd doublea doubleb main doubley p q scanf lf lf 7 5调用函数和被调用函数之间的数据传递 例7 3以下程序试图通过调用swap函数 把主函数中变量x和y中的数据进行交换 请观察程序的输出 includevoidswap int int main intx 10 y 20 printf 1 x dy d n x y swap x y printf 4 x dy d n x y voidswap inta intb intt printf 2 a db d n a b t a a b b t printf 3 a db d n a b 函数说明语句 10 x 20 y 1 x 10y 20 调用 传递 a b 10 20 传递 传递 t 2 a 10b 20 20 10 3 a 20b 10 退出该函数 返回到它的调用处 该函数无返回值 因为该函数为void类型 此时该函数中的变量全部释放 4 x 10y 20 习题 一 选择题7 1以下叙述中正确的是AC语言程序总是从第一个定义的函数开始执行B在C语言程序中 要调用的函数必须在main 函数中定义CC语言程序总是从main 函数开始执行DC语言程序中的main 函数必须放在程序的开始部分7 2已定义了以下函数fff floatx printf d n x x 该函数的类型是A与参数x的类型相同BvoidCint类型D无法确定7 3有函数调用语句 func exp1 exp2 exp3 exp4 exp5 此函数调用语句含有的实参个数是A1B2C4D5 C C B 习题 7 4有以下程序 intfunc inta intb intc c a b returnc main intx 6 y 7 z 8 r r func x y x y z printf d n r 程序的输出结果是A11B20C21D31 7 5有以下程序 includeintf int int main inti 2 p p f i i 1 printf d n p intf inta intb intc c a if a b c 1 elseif a b c 0 elsec 1 return c 程序的输出结果是A 1B0C1D2 C A 习题 7 6有以下程序 includeintfun inta intb intc c a b main intw fun 2 3 w printf d n w 程序的输出结果是A0B1C6D无定值 7 7有以下程序 includedoublef intn inti doubles s 1 0 for i 1 i n i s 1 0 i returns main inti m 3 doublea 0 0 for i 0 i m i a f i printf f n a 程序的输出结果是A5 500000B3 000000C4 000000D8 25 D A 习题 二 填空题7 8以下程序的输出结果是 includeunsignedfun6 unsignednum unsignedk 1 do k num 10 num 10 while num returnk main unsignedn 26 printf d n fun6 n 7 9以下程序的输出结果是 includedoublesub doublex doubley doublez y 1 0 z z x returnz main doublea 2 5 b 9 0 printf f n sub b a a a 12 9 000000 习题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NBT 11314-2023 输电线路共享铁塔设计规程
- DLT 5461.2-2013 火力发电厂施工图设计文件内容深度规定第2部分:总图运输
- 广州酒家集团面试题及答案
- 公务员面试随机面试题及答案
- 农业数字化管理新模式实践案例总结报告
- 公务员面试募捐面试题及答案
- 会计招聘面试题及答案
- 海南航空校招真题及答案
- 公务员面试纪实面试题及答案
- 光大集团招聘笔试题及答案
- 2025全国医疗应急能力培训系列课程参考答案
- 初中英语试卷讲评及课堂教学设计
- 上海安保考试题目及答案
- 糖尿病专家培训课件
- 2025-2026学年深圳市罗湖区九年级(上)英语第一学期期中联考试卷(解析版)
- 雨课堂在线学堂《中国传统文化》课后单元测试答案
- 2025年大学《社会工作-社会福利思想》考试参考题库及答案解析
- 独孤一箭实盘交割单 独股一箭20w实盘交割单
- 2025交管12123学法减分题库附含参考答案
- 冬季施工混凝土养护方法
- 2025年医学高数期末考试题及答案
评论
0/150
提交评论