C语言程序设计课件第7章 7.1函数定义_第1页
C语言程序设计课件第7章 7.1函数定义_第2页
C语言程序设计课件第7章 7.1函数定义_第3页
C语言程序设计课件第7章 7.1函数定义_第4页
C语言程序设计课件第7章 7.1函数定义_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计

录目录CONTENTS

函数概述7.1

函数定义7.2

函数的调用7.3模块化程序设计的核心思想,是将复杂的大型程序拆解为若干个独立的程序模块,每个模块专注实现一个特定功能,通过模块间的协作完成整体任务。在C语言中,函数正是实现模块功能的核心载体——一个完整的C程序,通常由1个主函数(main函数)和若干个其他函数构成。程序运行时,由主函数作为入口,调用其他函数;这些被调用的函数之间,也可以相互调用。并且,同一个函数可被一个或多个函数调用任意次数,极大提升了代码的复用性,其调用关系可通过包含函数a~f的示意图直观呈现。​为了更通俗地理解这一概念,我们可以将编写程序类比为学校组织学生打扫教室卫生的过程:主函数就如同负责统筹安排的老师,核心作用是控制程序每一步的执行流程,决定何时调用哪个“功能模块”;而程序中定义的其他函数,就像分工明确的学生——有的专门负责擦窗户,有的专注擦桌子,有的承担扫地任务,每个函数都只聚焦于完成自己对应的“特定工作”。从用户使用的角度看,函数可分为库函数和用户自定义函数两大类,下面分别进行介绍。

7.1函数概述库函数是C语言标准库或第三方库中预先实现并封装好的函数,它们由编译器厂商或开发组织提供,用于完成一些常用的基础功能,供开发者直接调用,无需用户自己编写实现代码。例如,调用printf和scanf函数时需要在程序开头包含stdio.h头文件;调用sqrt函数和log函数时需要包含math.h头文件;调用strcpy函数和strlen函数时需要包含string.h头文件。库函数主要包括以下特点:通用性强:覆盖了程序开发中常见的基础功能,如输入输出(printf、scanf)、字符串处理(strlen、strcpy)、数学运算(sqrt、sin)、内存管理(malloc、free)等。高效可靠:经过严格测试和优化,执行效率高且稳定性强,避免了用户重复开发可能出现的错误。需包含头文件:使用库函数前,必须通过#include指令包含对应的头文件(头文件中声明了函数的原型)。例如:使用printf、scanf需包含<stdio.h>;使用strlen需包含<string.h>;使用sqrt(开平方)需包含<math.h>。

7.1函数概述7.1.1库函数了解函数返回值的意义及类型。3了解需要使用的包含文件。4

提示不同的C语言编译系统提供的库函数的数量和功能会有一些不同,不过,大多数基本函数都是相同的。

7.1函数概述明确函数的功能。1了解函数参数的数目和顺序,以及每个参数的意义及类型。2使用库函数时应注意以下几个问题:7.1.1库函数【例7-1】计算一个数的平方根。【问题分析】计算一个数的平方根,需先明确输入非负(负数无实根,需提示错误)。数据类型选double以兼容小数结果。计算可直接用<math.h>的sqrt库函数(高效精准),或手动实现牛顿迭代法/二分法(适合学底层)。还需处理输入非数值的情况,输出可借printf控制精度,核心是先验输入合法性,再选适配计算方式输出结果。

7.1函数概述7.1.1库函数【参考代码】#include<stdio.h>//包含输入输出库函数的头文件#include<math.h>//包含数学库函数的头文件intmain(){doublenum,result;printf("请输入一个非负数:");scanf("%lf",&num);if(num<0){printf("错误:输入的数不能为负数!\n");return1;//程序异常退出}result=sqrt(num);printf("%lf的平方根是:%lf\n",num,result);return0;}

7.1函数概述7.1.1库函数【运行结果】程序运行结果如图所示。

7.1函数概述7.1.1库函数【例7-2】打印固定格式的欢迎信息。【问题分析】该程序含头文件、自定义函数printWelcome和主函数。printWelcome为无参无返回值函数,用printf输出固定格式欢迎信息;main函数调用它实现功能。体现函数封装性,便于复用与维护,是C语言模块化编程基础示例。在C语言中,用户自定义函数是由程序员根据需求自行设计的函数,用于封装特定功能,提高代码的复用性和可读性。

7.1函数概述7.1.2用户自定义函数【参考代码】#include<stdio.h>//自定义函数:打印固定格式的欢迎信息voidprintWelcome(){printf("====================\n");printf("WelcometoCLang\n");printf("====================\n");}intmain(){printWelcome();//调用自定义函数return0;}

7.1函数概述7.1.2用户自定义函数【运行结果】程序运行结果如图所示。【程序说明】程序先引入标准输入输出库,定义无参无返回值函数printWelcome,其用printf输出带分隔线的欢迎信息。主函数main调用该函数完成打印。此程序展示了C语言自定义函数的基本用法,通过封装固定功能实现代码复用,结构清晰易维护。

7.1函数概述7.1.2用户自定义函数

名师点睛(1)一个C程序可由一个或多个程序模块组成,每个程序模块可作为一个源程序文件。对于较大的程序,一般由若干个源程序文件组成。一个源程序文件可以为多个C程序共用。(2)C语言是以源文件为单位进行编译的,一个源程序可由一个或多个函数组成。(3)在C语言中,不管main函数在程序中的什么位置,程序总是从main函数开始执行,调用其他函数后,最终在main函数中结束。(4)所有函数都是平行的,在定义时相互独立,一个函数不属于另一个函数。函数不可以嵌套定义,但可以相互调用,main函数可以调用任何函数,一个函数可以多次被调用,而其他函数不能调用main函数。

7.1函数概述7.1.2用户自定义函数无参函数定义1在C语言中,无参函数是指不接收任何输入参数的函数,其定义格式为:类型说明符函数名(){ 函数体;}或类型说明符函数名(void){ 函数体;}函数名后面括号内的void表示“空”,即函数没有参数。无参函数的“类型说明符”指定函数返回值的类型,可以是任何有效类型。省略“类型说明符”时,系统默认的函数返回值类型为int型。当函数只完成特定操作而不需返回函数值时,可用类型名void,如例7-2中的window,desk和floor函数。此外,函数的命名规则与变量的命名规则相同。

7.2函数定义有参函数定义2在C语言中,有参函数是指需要接收外部输入参数的函数,定义有参函数的一般形式为:类型说明符函数名(形式参数声明){ 函数体}有参函数在函数名后的括号内必须有形式参数(简称“形参”)表,用于调用函数和被调函数之间的数据传递,故必须对其进行类型说明,这由形式参数声明部分完成。一般情况下,函数中需要多少个原始数据,函数的形参表中就应有多少个形参,每个形参存放一个数据,形参之间用逗号隔开。例如:intmin(inta,intb){ intc; c=a<b?a:b; re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论