




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C语言程序设计第六章函数内容提要 大家想一想 •如果每个printf()函数由20行代码替换,每个scanf() 函数由50行代码替换,那么你见过的程序会是什么样子? •读多少行的程序能让你不头疼?数学函数调用sin(x)函数函数的本质函数的分类 别人写的函数 •库函数自己写的函数函数概述 函数的作用 •分解问题,使程序结构更加清晰 学习函数的三个要素─ 函数的声明、定义与调用#include<stdio.h> voidmain() {intmax(intx,inty); inta,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Maxis%d",c); }通过函数调用,可使两个函数中的数据发生联系。函数声明函数声明 函数声明注意事项 •C语言是一门编译语言,它在使用某个函数之前,必 须知道函数在哪里,即编译器需要看到该函数的声明 或定义 ✦不同的编译器处理函数声明的方式不同函数定义函数定义(函数的实现)函数定义(函数的实现)函数定义的三种形式 类型函数名(类型参数1,类型参数2,......) 请点评 #include<stdio.h>函数的定义: 对函数功能的确立,包括指定函数名,函数值类型、形参名称及其类型、函数体等,它是一个完整的、独立的函数单位。 函数的声明: 则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查。函数的返回值不返回任何值的函数─ 空函数(void) 请点评 #include<stdio.h> voidprint_message() { (1)函数的返回值通过函数中的return语句获得。 一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。 (2)函数的返回值应当属于某一个确定的类型,在定义函数时指定函数返回值的类型。 函数调用函数名(参数1,参数2,......)函数嵌套调用实例函数调用的示意图函数调用的注意事项函数参数传递intbar(intc,intd) { intres=c+d; returnres; } intfoo(inta,intb) { intres=bar(a,b); returnres; } intmain() {}形参、实参的注意事项 请点评 #include<stdio.h> /*形参和实参swap演示*/ voidSwap(intx,inty); intmain() { 请点评 #include<stdio.h> /*形参和实参swap演示*/ voidSwap(intx,inty); intmain() {int { 函数参数的传递实参可以是常量、变量、表达式,只要有确定的值。函数设计原则函数的设计原则无参函数举例-P106例6.2函数调用时控制流及数据流传输课堂练习教学进程函数定义与调用举例例4.7核心代码#include<stdio.h> #include<math.h> intprimeInt(intm);//判断质数函数声明 intmain() { intm; scanf("%d",&m); if(primeInt(m))//判断质数函数调用 printf("%disaprime\n",m); else printf("%disnotaprime\n",m); return0;}函数定义与调用举例例5.9核心代码#include<stdio.h> intFind(int*pa,intx,intn);//查找数组元素函数声明 intmain() { inta[10],n=10,x,*p,i; printf("Input%delements:\n",n); for(p=a;p<a+10;p++) scanf("%d",p); printf("Inputxbesearched:\n",n); scanf("%d",&x); i=Find(a,x,n);//查找数组元素函数的调用 if(i<n&&i!=-1) printf("value=%d,index=%d\n",x,i); else printf("Notpresent!\n"); return0;}函数参数的传递方式72、地址传递方式【例1】设计一个平均值的函数,原型为floataverage(floatarray[10]),并在主函数中调用它求一维数组score(从键盘输入10个学生成绩)的平均成绩。 教学进程教学进程教学进程函数调用与

书錦****by
实名认证
内容提供者


最近下载