齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 函数

第八章函数 ★C是模块化程序设计语言 C程序 源程序文件1 源程序文件i 源程序文件n 预编译命 函数1 函数n 说明部分 执行部分 C程序结构 C是函数式语言 但必须有且只能有一个名为main的主函数 口C程序的执行总是从皿ain函数开始,在main中结束 口程序中函数都是平行的,不能嵌套定义,可以嵌套调用
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 程序中函数都是平行的,不能嵌套定义,可以嵌套调用 第八章 函数

例如下面是一个C源程序,它由两个函数组成, 即main与max函数 maino maino 〔inta,b; i int a, b Int c int c scanf(%d, %d", &a, &b) scanf(%/od, %d", &a, &b) c=max(a, b) c=max(a,b) printf(" Max is %/dn,c) printf("Max is%dn,c) max(x, y) max(int x, int y) Int X, y nt z i int z =X>y?x y; ZXy!Xy, return (z) return(z
main() { int a,b; int c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(int x, int y) { int z; z=x>y?x:y; return(z); } 例如下面是一个C源程序,它由两个函数组成, 即 main 与 max 函数 main() { int a,b; int c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max( x, y) int x , y ; { int z; z=x>y?x:y; return(z); }

函数分类 1、标准函数(库函数:由系统提供) 例如pinf函数、sqr函数 2、用户自定义函数:例如:上面程序中的 max函数 max(int x, int y) int z, Z=Xy.x:y; return(z;
函数分类 1、标准函数(库函数:由系统提供 ): 例如:printf 函数 、sqrt函数. 2、用户自定义函数 : 例如:上面程序中的 max 函数 max(int x, int y) { int z; z=x>y?x:y; return(z); }

省略时为int类型 函数的定义 void类型是无返回 ★一般格式 值 形参 函数类型函数名(形参类型说明表) 说明部分 函数体 语句部分 例有斧数聊4风格 例无参函数 printstar( i printf( cc*水水*水*水水水 n 空
函数的定义 一般格式 函数体 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 省略时为 int 类型 void 类型是无返回 值 形参

88.3函数的返回值 maino fint c, a=1, b=2 返回语句形式 c=add(a, b); printf(“c=%d”,c) return(表达式); 或 return表达式 int add(int x, int y) f int z; 或[ return] x+y; return(z); 功能:使程序控制从被调用} 演示 数返回到调用函数中。同时把返值带给调用 函数 函数结束标志:遇到 return语旬或执行到 最后一个
§8.3 函数的返回值 返回语句形式: return(表达式); 或 return 表达式; 或 [return;] 功能:使程序控制从被调用 函数返回到调用函数中,同时把返值带给调用 函数 函数结束标志: 遇到 return 语句 或执行到 最后一个 } main() { int c , a=1 , b=2; c=add(a,b); printf( “c= %d ”,c); } int add(int x, int y) { int z; z=x+y ; return(z); } 演示

例函数带回不确定值 printstarO void printstarO print("******) i printf("*****x** maino main i int a int a a=printstarO a=-printstar printf("%od", a) printf("%/od", a) 输出:10 编译错误! 演示
printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 例 函数带回不确定值 输出:10 void printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 编译错误! 演示

例函数返回值类型转换 maino i float a, b 运行情况: int c 输入:25,3.5 scanf(%f, %f", &a, &b) c-max( a 调用函数 printf(d"Max is %dn", c); c=max(2.5, 3.5) mtma( pat x, float y)返回值( return(35) i float z z=x>y?:y 输出: Max is3 return (z) 演示
例 函数返回值类型转换 main() { float a,b; int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("Max is %d\n",c); } int max(float x, float y) { float z; z=x>y?x:y; return(z); } 运行情况: 输入:2.5,3.5 调用函数 c=max(2.5,3.5) 返回值(return(3.5)) 输出:Max is 3 演示

88.4函数的调用 调用形式 函数名(实参1,实参2,……,实参k); 对照函数定义形式 类型函数名(类型1形参1,类型2形参2,…) 说明:实参与形参个数相等 类型一致,按顺序 对应
§8.4 函数的调用 调用形式 函数名(实参1,实参2,…,实参k); 对照函数定义形式 类型 函数名(类型1 形参1,类型2 形参2,….) {……} 说明:实参与形参 个数相等, 类型一致,按顺序一一对应

调用方式 printstar( printf("********** 函数语句 maino 例 printstar i printstar( printf( Hello, World!n) 函数表达式 maino 例m=max(a,b)*2; fint c, a=1, b=2 c=add(a, b)* 2; 函数参数 printf((“c=%d”,c) p] printf(%/od,,max(a, b ) int add(int x, int m=max(a, max(b, c) nt X return(z)
调用方式 函数语句: 例 printstar(); printf(“Hello,World!\n”); 函数表达式: 例 m=max(a,b)*2; 函数参数: 例 printf(“%d”,max(a,b)); m=max(a,max(b,c)); main() { int c , a=1 , b=2; c=add(a,b)*2; printf( “c= %d ”,c); } int add(int x, int y) { int z; z=x+y ; return(z); } printstar() { printf("**********"); } main() { printstar(); }

数声明 1、什么是函数声明? 函数声明的一般形式: 类型函数名(形参类型[形参名,…); 例如: int max(intx,iny); Et float add(float, float); 2、函数声明的作用是什么? 告诉编译系统函数类型、参数个数及类型,以便检 验
函数声明 1、什么是函数声明? 函数声明的一般形式: 类型 函数名(形参类型 [形参名],….. ) ; 例如:int max( int x , in y) ; 或 float add(float , float ) ; 2、函数声明的作用是什么? 告诉编译系统函数类型、参数个数及类型,以便检 验
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(实验讲义)TURBO C上机操作实验部分.doc
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(教学大纲,实验,本科).doc
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十三章 文件.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十一章 结构体与共用体.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 C语言概述.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(部分习题答案,前三章).doc
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)选择结构实验2.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)选择结构2.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)选择实验1.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 输入输出.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 循环控制.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 程序的灵魂-算法.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二次课思考题问答.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 数据类型、运算符与表达式(c).ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三次课思考题问答.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 数组.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)数组第二次实验.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)数组第一次实验.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)循环结构(理论).ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 预处理命令.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 指针.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第一章 C语言概述、第二章 数据类型、运算符与表达式 2.1-2.5.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第九章 指针 §9.4 字符串指针和指向字符串的指针变量 §9.5 函数的指针及指向函数的指针变量 §9.6 返回指针值的函数 §9.7 指针数组和指向指针的指针.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第十章 结构体与共用体.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第十二章 文件的基本操作.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第十三章 位运算 §13.1 位运算概述 §13.2 位运算符的使用方法.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第二章 数据类型、运算符与表达式 2.6-2.10、第三章 最简单的C程序设计 §3.1 C语句概述 §3.2 程序的三种基本结构.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第三章 最简单的C程序设计 §3.3 赋值语句 §3.4 数据输出 §3.5 数据输入 §3.6 程序举例.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 逻辑运算和判断选取控制 §4.1 关系运算符 §4.2 逻辑运算符和逻辑表达式 §4.3 if 语句–––条件判断.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 逻辑运算和判断选取控制 §4.4 switch 语句–––开关语句 §4.5 程序举例、第五章 循环控制.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第七章 函数(主讲:李丽娟).ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第六章 数组 §6.1 一维数组 §6.2 二维数组.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第六章 数组 §6.3 字符数组、第八章编译预处理 §8.1 宏定义 §8.2 文件包含 §8.3 条件编译.ppt
- 湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第九章 指针 §9.1 指针的概念 §9.2 指针变量的定义和引用 §9.3 数组的指针及指向数组的指针变量.ppt
- 《计算方法》第二章(2-3)牛顿( Newton)迭代方法.doc
- 《计算方法》第二章(2-3)续 Newton迭代法的变形.doc
- 《计算方法》第三章 线性方程组解法.doc
- 《计算方法》第三章(3-2)矩阵的三角分解.doc
- 《计算方法》第三章(3-4)迭代法.doc