① c语言中的开方
头文件:#include <math.h>
sqrt() 用来求给定值的平方根,其原型为:double sqrt(double x);double sqrt(double x)。
x 为要计算平方根的值。
如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。
返回 x 平方根。注意,使用 GCC 编译时请加入-lm。实例计算200 的平方根值。
例子:
#include <math.h>main(){double root;root = sqrt(200);printf("answer is %f ", root);}
输出结果:answer is 14.142136。
(1)gcc编译math扩展阅读:
使用sqrt函数需要注意的事项:
1、sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
2、sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
3、sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
② 求发一下,C语言的头文件math.h
dev c++是个集成环境,里面默认用的是TDM-GCC或者minGW-GCC(当然你改成VC也是可以的,多数情况下是没人想改的),所以你要找的math.h头文件应该是GCC的头文件,可以在github上面找到gcc再找math.h。(文件不算复杂,其实可以直接列在这里,一共才30行不到,有意义的部分才6行)
以下5行是gcc的math.h(太短了,以致于我不想发邮件)
#ifndef __GCC_MATH_H
#define __GCC_MATH_H
#define __HEADER_TO_WRAP <math.h>
#include <_yvals-wrapper.h>
#endif
③ 编写程序的时候需要开平方根,在linux平台的gcc编译器下调用了math函数,但是运行的时候报错
用-lm把数学库链接进去。
④ c语言一调用math.h会弹出这个,为什么
1,fmod是有的,这是它在math.h的声明:double fmod(double x, double y); 2,你需要在makefile文件中找到CC=gcc这一行,在gcc后面加入" -lm",与gcc之间有个空格。或者在CFLAGS(如果有的话)后面加-lm也行。
⑤ 我的gcc不知道怎么回事,不能链接math.h
你在 Linux 系统下对含有数学函数的 C 语言源程序进行编译时,必须在命令行编译时要加上:-LIBmath.LIB 选项(假设数学库的文件名是:math.LIB。至于说具体的数学库文件名我已经不太记得了,你可以在你的Linux系统里面查找一下,具体的数学库文件名到底是哪一个)。否则的话,就不能够正确编译 C 语言源程序!
⑥ Linux习题,能将当前库函数文件libmymath.a链接到可执行程序的gcc命令是
gcc main.o -lmymath -L库文件路径
⑦ gcc编译带math.h的程序,加-lm参数也没用
是不是环境变量
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
没设好。
-----------
例如:
C 程序要求
$ C_INCLUDE_PATH=/opt/gdbm-1.8.3/include
$ export C_INCLUDE_PATH
C++ 程序要求
$ CPLUS_INCLUDE_PATH=/opt/gdbm-1.8.3/include
$ export CPLUS_INCLUDE_PATH
-----
编译时,命令行可以用 -I 添加路径 /usr/local/include 或 /usr/include -- 看你的include安装在哪里。
⑧ linux中用gcc编译出现err:对‘ceil’未定义的引用
#include <math.h>
⑨ C语言 ubuntu GCC编译 包含了math。h 仍提示undefined reference to 'log' 'exp'
函数库未安装或者未配置好
⑩ gcc请教,问题如下:
使用math.h中声明的库函数还有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找。本书用到的大部分库函数(例如printf)位于libc.so库文件中,使用libc.so中的库函数在编译时不需要加-lc选项,当然加了也不算错,因为这个选项是gcc的默认选项。