第 5 章 深入理解函数
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-16
<一>return语句 深入学习return语句,在有返回值的函数中,return语句的作用是提供整个函数的返回值,并结束当前函数返回到调用它的地方.在没有返回值的函数中也可以使用return语句.例如:当检查到一个错误时提前结束当前函数的执行并返回: 对数的概念log,英语名词:logarithms.如果a^b=n,那么log(a)(n)=b.其中,a叫做“底数”,n叫做“真数”,b叫做“以a为底的n的对数”. log(a)(n)函数叫做对数函数.对数函数中n的定义域是n>0,零和负数没有对数;a的定义域是a>0且a≠1.现在底数为a=10,对数为1,则真是为0. print_logarithm()函数调用判断时,如果x小于0.0,则输出Positive numbers only, please.然后返回函数值,结束当前函数调用,返回到调用它的主函数,继续执行下一条语句,现在在print_logarithm()函数的if语句return后面加多一条多余的代码,如果不是在执行return语句后中断,则会在打印多一个Positive numbers only, please.语句.为什么要用math.h头文件,使用到数学函数loga(n)=b #include <stdio.h> #include <math.h> void print_logarithm(double x) { if (x <= 0.0) { printf("Positive numbers only, please.\n"); return; printf("Positive numbers only, please.\n"); } printf("The log of x is %f", log(x)); } int main(void) { print_logarithm(-1.0); print_logarithm(1.0); return 0; } 事实说明return返回函数值后中断,后面语句不再执行.加一行Dead Code,很容易引起bug.其实执行的语句可以换成布尔类型,如果为真返回1,否则返回0. 习题 1、编写一个布尔函数int is_leap_year(int year),判断参数year是不是闰年.如果某年份能被4整除,但不能被100整除,那么这一年就是闰年,此外,能被400整除的年份也是闰年. 2、编写一个函数double myround(double x),输入一个小数,将它四舍五入.例如myround(-3.51)的值是-4.0,myround(4.49)的值是4.0.可以调用math.h中的库函数ceil和floor实现这个函数. #include <stdio.h> int is_leap_year(int year) { if(year%4 == 0 && year0 != 0) { return 1; } else { if(year@0 == 0) { return 1; } else { return 0; } } } int main() { int x; printf("Please input year:\n"); scanf("%d",&x); printf("%d\n",is_leap_year(x)); return 0; } 希尔函数主要判断方便,如果为真返回1,如果为假返回0; #include <stdio.h> #include <math.h> double myround(double x) { int a; a=(int)x; if(x > 0 ) { if(x-a >= 0.5) { x=ceil(x); return x; } else { x=floor(x); return x; } } else if(x < 0) { if(x-a <= -0.5) { x=floor(x); return x; } else { x=ceil(x); return x; } } else { return x; } } int main() { double x; printf("Please input double x:\n"); scanf("%lf",&x); |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于第 5 章 深入理解函数的所有评论