
之东双2图 程序设计基础(B)I 刘晓红 恩 1126
程序设计基础(B)I 刘晓红 1/26

之东理子了 课程体系结构 《程序设计基础》 第1章程序设计基础引论 《程序设计基础山》 第2章算法设计基础 第11章结构体 第3章数据类型基础 第12章文件 第4章顺序控制结构 第13章链表 第5章分支控制结构 第14章递推与递归 第6章循环控制结构 第15章贪心与动态规划 第7章函数 第8章数组 第9章指针 第10章字符串 2126
课程体系结构 《程序设计基础I》 第1章 程序设计基础引论 第2章 算法设计基础 第3章 数据类型基础 第4章 顺序控制结构 第5章 分支控制结构 第6章 循环控制结构 第7章 函数 第8章 数组 第9章 指针 第10章 字符串 《程序设计基础 II》 第11章 结构体 第12章 文件 第13章 链表 第14章 递推与递归 第15章 贪心与动态规划 2/26

久东罗2 第7章 函 数 冯 3/26
第 7 章 函 数 3/26

之攻理子 程序设计的艺术 ·程序设计有两大最高级的艺术 -算法设计艺术— 程序的灵魂 一结构设计艺术 程序的肉体 ·函数(function)是结构设计的最基本单位 ·让我们一起来get新技能吧 恩 4126
程序设计的艺术 • 程序设计有两大最高级的艺术 – 算法设计艺术——程序的灵魂 – 结构设计艺术——程序的肉体 • 函数(function)是结构设计的最基本单位 • 让我们一起来get新技能吧 4/26

之东翼2 本章知识点 7.1函数概述 7.2函数的定义和使用(重点) 7.3嵌套调用与递归调用(难点) 7.4变量与函数 7.5随机数函数 5/26
本章知识点 7.1 函数概述 7.2 函数的定义和使用(重点) 7.3 嵌套调用与递归调用(难点) 7.4 变量与函数 7.5 随机数函数 5/26

2本罗军 7.1函数概述 7.1.1什么是函数 函数值 简单的数学函数 因变量 y=f(x) 从用户使用角度看(两大类) ·库函数 一C编译系统预定义的,直接使用 函数名 自变量 scanf()printf() #include -sgrt(n)fabs(x) #include ·用户自定义函数 一解决专门需要,用户先定义,后使用 area(a,b,c)求三边为a,b,c的三角形面积 max(a,b)求两个整数的最大值 6/26
简单的数学函数 y f x = ( ) 自变量 函数值 因变量 函数名 7.1.1 什么是函数 7.1 函数概述 • 从用户使用角度看(两大类) • 库函数 – C编译系统预定义的,直接使用 – scanf() printf() #include – sqrt(n) fabs(x) #include • 用户自定义函数 – 解决专门需要,用户先定义,后使用 – area(a, b, c) 求三边为a,b,c的三角形面积 – max(a, b) 求两个整数的最大值 6/26

本理2军 7.1函数概述 7.1.1什么是函数 库函数应用举例 /*SDUT0J1206-求三角形面积*/ #include Problem Description #include 已知三角的边长a、b和c,求其 int main()函数值 Input 因变量 输入三边a.b、C double a,Jc;7/已知三角形三条边 Output double r res;;/求三角形的面积res 输出面积,保留3位小数。 scanf("lf%lf%lf",&a,&b,&c): 函数名 Example Input p=(a+b+c)/20 122.5 res=sqrt(p*(p-a)*(p-b)*(p-cl;/调用求平方根库函数 Example Output printf(“%.3lfn",resi 0.950 return 0; 自变量 Hint 海伦公式求三角形面积。如果三角形的三边为a,b,c且即=(a+b+c/2,则三角形面积为(p*(p-a)±(p-b)*(p-c)的平方根 Author 恩 7126
7.1.1 什么是函数 库函数应用举例 7.1 函数概述 /*SDUTOJ 1206-求三角形面积*/ #include #include int main( ) { double a, b, c; //已知三角形三条边 double p, res; //求三角形的面积res scanf(“%lf%lf%lf”, &a, &b, &c); p = (a + b + c) / 2.0 res = sqrt(p * (p - a) * (p - b) * (p - c)); //调用求平方根库函数 printf(“%.3lf\n”, res); return 0; } 自变量 函数值 因变量 函数名 7/26

之欢理子了 7.1函数概述 【例7.1】求两个实数的和。 #include int main() { float itotal,ic,id; scanf("%f%f",&ic,&id); itotal=ic+id; printf("%f\n",itotal); return 0; 碧 8/26
【例7.1】求两个实数的和。 #include int main() { float itotal,ic,id; scanf(“%f%f”,&ic,&id); itotal=ic+id; printf(“%f\n”,itotal); return 0; } 7.1 函数概述 8/26

7.1函数概述 【例7.1】求两个实数数 函数的 #include 声明 flaot add(float a,floabB); int main() 函数值 函数名 因变量 at itotal=ic, 函数的 函数的 调用 定义 stnf(“%ff",&ic,d itotal=add(ic,id) float add(float ia,float ib) printf("%f n",itota return 0; 函数的 float itotal; 返回 itotal=ia+ib;o 自变量 return itotal; 9/26
【例7.1】求两个实数的和。 #include flaot add(float a, float b); int main() { float itotal=0,ic,id; scanf(“%f%f”,&ic,&id); itotal=add(ic,id); printf(“%f\n”,itotal); return 0; } 7.1 函数概述 float add(float ia,float ib) { float itotal; itotal=ia+ib; return itotal; } 函数的 声明 函数的 调用 函数的 定义 函数的 返回 自变量 函数值 因变量 函数名 9/26

2本理军 7.1函数概述 7.1.1为什么使用函数 由例7.1,我们会产生一个疑问: 有必要使用函数吗? 感觉使程序复杂了。 碧 10/26
由例7.1,我们会产生一个疑问: 有必要使用函数吗? 感觉使程序复杂了。 7.1.1 为什么使用函数 7.1 函数概述 10/26