- 6
- 0
- 约5.86千字
- 约 51页
- 2021-12-11 发布于广东
- 举报
函数的分类 库函数 ANSI/ISO C定义的标准库函数 符合标准的C语言编译器必须提供这些函数 函数的行为也要符合ANSI/ISO C的定义 第三方库函数 由其它厂商自行开发的C语言函数库。不在标准范围内,能扩充C语言的功能(图形、网络、数据库等) 自定义函数 自己编写的函数 包装后,也可成为函数库,供别人使用 第二十九页,共51页 数学函数库使用 常用的数学函数 sqrt(x) exp(x) log(x) 自然对数 log10(x) fabs(x) ceil(x) 不小于x的最小整数 floor(x) 不大于x的最大整数 pow(x,y) sin(x) x为弧度 .. 第三十页,共51页 #includemath.h 找出所有小于500的构成直角三角形的三条边 input a, b,c c = sqrt(pow(a,2)+pow(b,2)) 求一元二次方程的根 a,b,c sqrt(b*b – 4*a*c) 0 sqrt(b*b – 4*a*c) 0 sqrt(b*b – 4*a*c) ==0 打印0~2PI之间sin(x)对照表 例sinecurve.cpp 第三十一页,共51页 随机数的产生 rand() – 产生一个0到 RAND_MAX(32767) 之间的一个整数,伪随机数 需要包含 stdlib.h 模拟掷硬币和骰子 缩放 rand()%6 srand(unsigned) 为rand()设置种子 time(NULL)参数NULL返回秒为单位的计算机系统的当前时间。 time.h srand(time(NULL)) 例rand.cpp 第三十二页,共51页 void Print(int flag) { if (flag) printf(Right!\n); else printf(Not correct!\n); } 小学生加法考试题 /* 函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数: 整型变量a和b,分别代表被加数和加数 函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */ int AddTest(int a, int b) { int answer; printf(%d+%d=, a, b); scanf(%d, answer); if (a+b == answer) return 1; else return 0; } 只答1次 第三十三页,共51页 main() { int a, b, answer; printf(Input a,b:); scanf(%d,%d, a, b); answer = AddTest(a, b); Print(answer); } do{ }while (answer == 0); 小学生加法考试题 直到做对为止 第三十四页,共51页 main() { int answer,chance=0; do { answer = AddTest(a, b); Print(answer); chance++; }while (answer == 0 chance 3); } 小学生加法考试题 最多给3次机会 第三十五页,共51页 int a,b; int error = 0; int score = 0; srand(time(NULL)); for (int i=0; i10; i++) { a = rand()%10 + 1; b = rand()%10 + 1; answer = AddTest(a, b); Print(answer); if (answer == 1) score = score + 10; else error++; } 实验4:小学生加法考试题 随机出题 连续做10道题 统计分数 第三十六页,共51页 第一页,共51页 学习目标 模块化程序设计的思想, 自顶向下的实现方法, 系统函数库的使用方法, 自定义函数的方法, 参数传递方式, 函数调用过程, 接口与实现的分离, 开发大规模程序 第二页,共51页 引言 如何对比较复杂、庞大的问题进行程序设计?例如: 绘制一个动物图案 头 — 正方型 躯干—菱形 下肢—矩型 建立一个学生信息管理系统
原创力文档

文档评论(0)