程序设计与算法(一) 函数

上传人:第*** 文档编号:57492002 上传时间:2018-10-22 格式:PDF 页数:28 大小:503.60KB
返回 下载 相关 举报
程序设计与算法(一) 函数_第1页
第1页 / 共28页
程序设计与算法(一) 函数_第2页
第2页 / 共28页
程序设计与算法(一) 函数_第3页
第3页 / 共28页
程序设计与算法(一) 函数_第4页
第4页 / 共28页
程序设计与算法(一) 函数_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《程序设计与算法(一) 函数》由会员分享,可在线阅读,更多相关《程序设计与算法(一) 函数(28页珍藏版)》请在金锄头文库上搜索。

1、程序设计与算法(一)李文新李文新 郭炜郭炜信息科学技术学院1函数信息科学技术学院程序设计与算法2为什么需要函数3写了一段牛顿迭代法求平方根的代码,程序里面无数地方都要求平方根, 难道需要的地方都把这段代码拷贝一遍?一个数十万行的程序,都写在 main里面? 数百个程序员如何合写一个 main?为什么需要函数4“函数” 可以将实现了某一功能,并需要反复使用的代码包装起来形成 一个功能模块(即写成一个“函数”),那么当程序中需要使用该项功能 时,只需写一条语句,调用实现该功能的 “函数”即可。不同的程序员可以分别写不同的函数,拼起来形成一个大程序函数的定义5返回值类型返回值类型 函数名函数名( (

2、参数参数1 1类型类型参数参数1 1名称名称, , 参数参数2 2类型类型 参数参数2 2名称名称) 语句组语句组( (即“函数体”)即“函数体”) 如果函数不需要返回值,则“返回值类型”可以写“void”函数调用和return语句6调用函数:函数名(参数1,参数2,)对函数的调用,也是一个表达式。函数调用表达式的值,由函数内部的 return语句决定。return语句语法如下:return 返回值; return语句的功能是结束函数的执行,并将“返回值”作为结果返回。“ 返回值”是常量、变量或复杂的表达式均可。如果函数返回值类型为 “void”,return语句就直接写:return ;函数

3、调用和return语句7return 语句作为函数的出口,可以在函数中多次出现。多个return语句的 “返回值”可以不同。在哪个return语句结束函数的执行,函数的返回值就 和哪个return语句里面的“返回值”相等。函数使用实例1 : Max函数8#include using namespace std; int Max(int x,int y) /求两个整型变量中的较大值 if( x y ) return x; return y; int main() int n = Max(4,6); cout 6,20形参实参=形参实参类型需兼容!形参实参类型需兼容!函数使用实例2 : 判断是否是

4、素数的函数9#include using namespace std; bool IsPrime(unsigned int n) if( n 1,0,1返回值为void的函数10void DrawCircle(double x,double y,double r) /下面的代码在屏幕上以下面的代码在屏幕上以(x,y)点为圆心,点为圆心,r为半径画圆为半径画圆 return; 调用:DrawCircle(0,0,1);函数使用实例3 : 已知三角形三个顶点位置, 求边长11给定平面上不共线的三个点,其坐标都是整数,编写程序,求它们构成的三 角形的三条边的长度。输入是6个整数: x1,y1,x2,

5、y2,x3,y3代表三个点的坐 标,以任意顺序输出三条边的长度均可。#include using namespace std; #define EPS 0.001 /用以控制计算精度用以控制计算精度 double Sqrt(double a) /求求a的平方根的平方根 double x = a/2,lastX = x + 1 + EPS; /确保能够进行至少一次迭代确保能够进行至少一次迭代 while( x - lastX EPS | lastX - x EPS) /只要精度没有达到要求,就继续迭代只要精度没有达到要求,就继续迭代 lastX = x; x = (x + a/x)/2; ret

6、urn x; double Distance(double x1,double y1,double x2,double y2) /求两点求两点(x1,y1),(x2,y2) 的距离的距离 return Sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); int main() int x1,y1,x2,y2,x3,y3; cin x1 y1 x2 y2 x3 y3; cout using namespace std; int main() cout using namespace std; void Swap(int a,int b) int tmp; /以下三行将以下三行

7、将a,b值互换值互换 tmp = a ; a = b; b = tmp; cout using namespace std; int a14 = 4,15,6,9; int a2 = 3,18,56,40,78; int FindMax( int a ,int length) /length是数组长度 int mx = a0; for(int i = 1;i using namespace std; int a14 = 4,15,6,9; void SetToZero(int a ,int length) for(int i = 0;i 0,0,0,0二维数组作为函数的参数24二维数组作为形参

8、时,必须写明数组有多少列,不用写明有多少行:void PrintArray( int a5) cout #include / 头文件头文件中包含许多数学库函数中包含许多数学库函数 using namespace std; int main() double a; cin a; if( a 即可将头文件包含到程序中,此后即可使用头文件中定义的库函数及其他信息即可将头文件包含到程序中,此后即可使用头文件中定义的库函数及其他信息库函数和头文件示例27数学函数数学函数数学库函数声明在cmath中,主要有:int abs(int x)求整型数x的绝对值 double cos(double x)求x(弧度

9、)的余弦 double fabs(double x)求浮点数x的绝对值 int ceil(double x)求不小于x的最小整数 double sin(double x)求x(弧度)的正弦 double sqrt(double x)求x的平方根库函数和头文件示例28字符处理函数字符处理函数这些库函数在ctype中声明,主要有:int isdigit(int c)判断 c 是否是数字字符 int isalpha(int c) 判断 c 是否是一个字母 int isalnum(int c) 判断 c 是否是一个数字或字母 int islower(int c)判断 c 是否是一个小写字母 int islower(int c)判断 c 是否是一个小写字母 int isupper(int c) 判断 c 是否是一个大写字母 int toupper(int c) 如果 c 是一个小写字母,则返回对应大写字母 int tolower (int c) 如果 c 是一个大写字母,则返回对应小写字母

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号