PPT05_1第五章--函数
第五章 函数;本章主要内容;5.1 结构化程序设计语言;子模块1; 5.1.2 引进子程序概念
模块化、分块编译、逐步求精
↓↓↓
简化代码、缩小长度及引进数学中的函数概念。
引进函数后,使得程序与问题本身具有极强的可对照性,十分清晰,增加——
(1)增加可读性
(2)增加清晰性
(3)增强正确性; 子程序技术将“做什么”与“怎么做”分离开
1.减轻程序员负担,关心“做什么”。
2. 设计子程序本身时,再具体关心“怎么做”。
子程序技术优点
程序逻辑结构清晰,易写、易读、易懂。
设计、调试、维护容易。;5.1.4 函数组成;5.2.1 函数的分类(1);函数的分类(2);;函数的分类(3);无参数无返回值的函数
无参数有返回值的函数
有参数无返回值的函数
有参数有返回值的函数
;5.2.1 函数定义;参数列表;5.2.2 函数调用 (function-designator); 5.2.3 参数结合;主程序;5.2.4 函数返回;例子:函数定义与调用; 5.2.5 函数原型
任何函数的函数调用都在相应函数定义之后
C规定:
任何标识符都必须声明,而且必须先声明后使用
但不是所有程序都能做到这点——C引进概念
函数原型
;5.3 函数调用程序实例;【5.1】有参函数程序设计;【5.2】函数举例(输入十个数,找出其中素数,并求平均数)
int isprime(int);
void main( )
{ int i,a[10],sum=0,n=0;
float aver;
printf(Enter 10 numbers:\n);
for(i=0;i10;i++)
scanf(%d,a[i]);
printf(\n);
for(i=0;i10;i++)
if(isprime(a[i])==1) /*若a[i]素数*/
{ printf(%d ,a[i]);
sum+=a[i]; /*求素数和*/
n++; /*统计素数个数*/
}
;aver=sum/n; /*求素数平均值*/
printf(\nsum=%d,aver=%f\n,sum,aver);
}
int prime(int x) /*该函数判断是否素数*/
{ int i;
for (i=2;i=x/2;i++)
if (x%i==0) return (0);
return 1;
}
;5.4 参数
5.4.1 C参数传递规则
C只有值参数一种参数类别。函数调用时——实在参数的值传送到形式参数中。
值参数意味着:
1. 赋值兼容
2. “虚实结合”
3. 在函数活化期间,形参与实参无关
4. 当??数执行结束返回后,实参数无任何变化。 ;5.5 数组作参数
数组名即指针。
传递的信息实质上是一个地址。
使用数组作函数参数形式——
形式参数用数组声明符说明:
int f ( float x [10] )
实在参数用数组名对应形式参数数组:
float a[10] ;
则用如下形式调用函数
f(a)
函数调用f(a)
在函数执行期间,形式参数和实在参数使用一个数组。 ; 数组参数可以有各种变形:
省略最外层尺寸
如f的函数定义说明符可以使用
int f ( float x[ ] );
多维相同——
int q ( float y[ ][20] );
声明两维数组参数y ,y每行20个元素,具体多少行由实在参数数组决定。设有声明
float u[10][20] , v[15][20] ;
则函数调用—— q(u);
q(v);
分别执行时, 数组大小不同。 ;【例5.3】利用数组参数重写第六章例6.4 ,用“主元排序”法对整数组A进行排序,使之能对任意整数数组排序。
把被排序数组和数组长度都作为函数的参数。
void sort ( int a[ ] , int n ) {
int i,j,k,r ;
您可能关注的文档
最近下载
- 中国共产主义青年团团员登记表(2025年版).docx VIP
- 浙商证券-科大讯飞-002230-科大讯飞深度报告:讯飞星火点亮千行百业.pdf VIP
- 大班音乐活动游戏化的实施现状及策略研究——以石家庄市X幼儿园为例.docx VIP
- 2025-2026学年粤教粤科版(2024)小学科学三年级上册(全册)教学设计(附目录 P182) .docx
- 众泰-T600-产品使用说明书-T600 2.0T 豪华型DCT-JNJ6460QT-T600车系使用手册20131201.pdf VIP
- 社区生活圈规划技术指南-黑龙江省标准.pdf VIP
- 2023-2024学年浙江省绍兴一中教育集团九年级(上)期末科学试卷.docx VIP
- YYT 0654-2017 全自动生化分析仪.docx VIP
- 2024-2025学年江苏南通海门市高二(上)期末数学试卷【答案版】.docx VIP
- 2024-2025学年浙江省温州市鹿城区七年级(上)期末英语试卷.docx VIP
原创力文档

文档评论(0)