- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;C语言程序设计
火 主编
ISBN:978-7-5611-5634-6;第6章 函数;第6章 函数;6.1 函数的作用;例6.1 函数调用的简单例子。;例6.2 从键盘输入x和y的值,计算 xy的值(设y为整型量)。;算法二:自定义函数mypow,计算xy的值。
double mypow(double x, int y)
{ int i = 0; double z = 1.0;
for(i=1; i=y; i++)
z = z * x;
return z;
}
void main( ) /* 主函数 */
{ double x = 0, z = 0; int y = 0;
printf(Input data: );
scanf(%lf%d, x,y);
z = mypow(x, y); /* 调用自定义函数mypow */
printf(%f,%d,%f\n,x,y,z);
};从以上两个例子可以看到: ;6.2 函数定义和函数调用;
;
;例6.3 求三个整数中的最大值。;
;函数名(实参表列);说明:;例6.4 调用函数,求 和n! ,其中 n 0 。;2. 函数调用的方式;(3) 函数参数方式
例如:
m=min(a,min(b,c));
在这个赋值语句中,min(b,c)是一次函数
调用,它作为min函数的另一次调用的实
参。m的值是a、b、c三者中的最小者。
又如:
printf( %f ,min(a,b));
也是把min(a,b)作为printf函数的一个实参
进行函数调用的。;3. 形式参数和实际参数;关于形参和实参的说明:;② 实参可以是常量、变量或表达式。
例如:
max(a+b,8);
③ 实参的类型与相对应的形参的类型应相同或赋值兼容。如果实参为实型而形参为整型,或者相反,则按不同类型数值的赋值规则进行转换。假如,调用子函数max时,实参a的值为5.9,而形参x为整型,则系统会将实数5.9转换成整数5后传递给形参x。;4. 函数的返回值;② return 语句的使用形式:
?return 后面的表达式,可用圆括号也可不用。
例如:
return(c); 与return c; 是等价的。
return(a b ? a : b); 与return a b ? a : b; 是等价的。
?一个函数若没有返回值时,return 后面不带表达式,即:
return;
;一个函数可以有多个return语句,即多个出口。
例如:
int sign(float x)
{
if(x 0)
return(1);
else if(x == 0)
return(0);
else
return(-1);
};2)函数的返回值类型;例6.6 求两个整数中的大者。;③ 对于无返回值的函数,函数的类型最好说明为void型,它表示“无类型”或“空类型”。; 例6.7 打印n个“#”的函数。
void spc(int n) 或:
{int i;
for(i = 0; i n; i++)
printf(%c, ′#′);
return;
}
; C语言规定,一般要求被调用函数定义在
前、调用在后。
若被调用函数定义在后、调用在前,可以
运用函数原型声明语句来解决这个问题。;5. 被调函数声明与函数原型; 例6.8 对被调函数的声明。;;6.3 函数调用中的参数传递;例6.9 编一程序,将一整数乘以10后显示出来。;例6.10 输出Fibonacci数列的前17项。;6.3.2 数组作函数参数;例6.11 在主函数中输入100个数,并调用库函数求其中正数的算术平方根的和。 ;例6.12 有数组a和b,各含有10个元素,将它们对应地逐个比较( 即a[0]与b[0]比,a[1]与b[1]比,…… )。如果a数组中的元素大于b数组中的对应元素的数目多于b数组中元素大于a数组中对应元素的数目,则认为a数组大于b数组,并分别统计出两个数组对应元素大于、等于和小于的次数。;large(int x, int y)
{ /* 将1或-1或 0返回主函数 */
int flag;
if(x y) flag = 1;
else if(x y) flag = -1;
else flag = 0;
您可能关注的文档
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【必刷】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【夺冠系列】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【各地真题】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【精品】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【精选题】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【考点梳理】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【历年真题】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【名师系列】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【名校卷】.docx
- 2022年西师大版小学数学六年级下册期末重难点真题检测卷带完整答案【易错题】.docx
最近下载
- 2023年教师职称计算机考试题库.pdf
- 建筑工程图集 16J914-1:公用建筑卫生间.pdf VIP
- 小学数学五年级上册期末测试卷及参考答案(能力提升).docx
- 小学生行为习惯的养成教育.pptx VIP
- 小学六年级上册数学期末测试卷含答案(巩固).docx
- 提高预制箱梁外观一次交验合格率QC小组.pptx
- 小学数学三年级下册期中测试卷附答案(达标题).docx
- 人教版四年级数学上册课件 第3单元 角的度量 第1课时 线段、直线、射线和角.pptx VIP
- 小学数学六年级上册期末测试卷带答案(实用).docx
- 父母教育态度的一致性对幼儿社会性发展的研究(国家开放大学、普通本科毕业生适用).docx
文档评论(0)