第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 15页
| 164人阅读
| 1人下载
精品

内容正文:

第6章 函数与编译预处理 本章内容 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用 6.4 变量的存储类型、作用域 6.5 编译预处理 6.6 综合案例 6.1模块化设计 模块化设计思想 把一个大问题分解成若干个比较容易求解的小问题,然后分别求解 模块设计原则 模块独立 功能单一。 模块间的联系力求简单。 数据局部化。 模块的规模要适当 分解模块要注意层次 6.2函数的定义与调用 6.2.1标准库函数 math.h头文件中函数:abs()、sin()、cos()、exp()、fabs()、floor()、rand()等 stdio.h头文件中函数:fgets()、fopen()、fprintf()、fputc()、gets()、puts()、fread()、getchar() 、putchar()、open()、close()、printf()、scanf()等 ctype.h头文件中函数: isalnum()、isalpha()、ispunch()、isspace()、isupper()、isxdigit()等 string.h头文件中函数:strcat()、strchr()、strcmp()、strcpy()、strlen()、strlwr()、strncat()、strncpy()、strstr()、strupr()等 6.2.2函数的定义 类型说明符 函数名称 (形式参数类型及说明列表) { /*以下为函数体*/ 局部变量声明部分 语句序列 } int max(int n1,int n2) { int t; if(n1>n2) t=n1; else t=n2; return t; } 函数的声明部分 类型说明符 定义了函数中return语句返回值的类型 省略类型说明符,函数返回一个整型值 函数没有返回值,可以定义为void 函数名称 遵循C语言标识符的命名规则 形式参数类型及说明列表 用逗号分隔的形式参数列表 每个列表项均由“类型说明符”和“形式参数名称”两部分组成 没有参数,括号仍然是必须要有的 函数体 和main函数一样,必须将变量声明语句和其它语句序列用{}括起来 有返回值,需要通过return语句返回 return语句的一般形式为: return(表达式); 或者 return 表达式; return语句有两个重要作用 返回一个值; 退出当前函数,也就是使程序返回到调用语句处继续进行 6.2.3函数的调用 调用函数定义在主调函数之前,主调函数可以直接调用 被调用函数定义在主调函数之后,则需要在主调函数中声明被调用函数。 函数的声明格式 类型名 函数名称(形式参数类型列表); 注意: 函数声明语句后面需加分号。 在声明函数时,函数的参数名称可以省略,但参数类型不能省略,且参数类型的个数、类型、次序必须保持一致。 main() { int max(int,int); /*声明max函数,也可改为 int max(int n1,int n2);*/ …… c=max(a,b); …… } int max(int n1,int n2) { …… } 函数的调用 无参函数调用的一般形式为: 函数名(); 有参函数调用的一般形式为: 函数名(实参表达式1,实参表达式2,……) c=max(a,b); printf(“%d”,c); 函数的嵌套调用 在C语言中,允许在定义一个函数时调用另外一个函数,则在该函数被调用的过程中将发生另一次函数调用 【例6.1】验证哥德巴赫猜想。猜想内容:任何一个大于4的偶数,都可以表示为两个素数的和。 图6.2 函数的嵌套调用 6.2.4参数的传递 形参和实参的概念 函数定义时使用的参数称之为形式参数,简称形参 函数调用时使用的参数,称之为实际参数,简称实参 在函数调用时,实参的个数要和形参相等,而且类型必须一致,另外实参与形参出现的次序也要一一对应。 程序举例 【例6.2】输入两个数,输出两个数中的最大值 #include "stdio.h" main() { int a,b,m; int max(int,int); /*声明max函数*/ printf(" Please input two numbers(a,b):"); scanf("%d,%d",&a,&b); m=max(a,b); /*调用max函数*/ printf("max=%d ",m); } int max(int x,int y) { int t; t=x>y?

资源预览图

第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
1
第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
2
第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
3
第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
4
第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
5
第6章函数与预处理 6.1模块化设计 6.2函数的定义与调用 6.3函数的递归调用-《C语言程序设计》同步教学课件(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。