问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C语言开方函数使用指南:pow和sqrt函数详解

创作时间:
作者:
@小白创作中心

C语言开方函数使用指南:pow和sqrt函数详解

引用
1
来源
1.
http://www.cdweb.net/article/dosppop.html

在C语言中,开方运算是一种常见的数学运算。本文将详细介绍C语言中常用的开方函数,包括pow函数和sqrt函数的使用方法,并提供具体的代码示例。

C语言中开平方函数

在C语言中,可以直接用两个数(或变量)相乘来表示平方,例如:

x * x

不过,如果需要求m的n次方,就需要用到pow(x, y)乘方(包括开方)这个库函数了。使用pow(x, y)这个库函数,需要包含math.h头文件。其中,xy都是双精度浮点(double)型。

#include <math.h>

U32 sqrt_fun(U64 x) {
    U32 low = 0;
    U32 high = x;
    U32 mid;
    U64 data;
    while (low < high) {
        mid = (low + high) / 2;
        data = (U64)mid * mid;
        if (data < x) {
            low = mid + 1;
        } else if (data > x) {
            high = mid - 1;
        } else {
            return (mid);
        }
    }
    return (mid);
}

void main(void) {
    volatile U32 td1, td2;
    U64 d = 0x12345678ABCD;
    td2 = sqrt(d);
    td1 = sqrt_fun(d);
}

C语言无参函数的定义

C语言中无参函数的定义格式如下:

dataType functionName() {
    // 函数体
}

其中:

  • dataType是返回值类型,它可以是C语言中的任意数据类型,例如int、float、char等。
  • functionName是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号()不能少。
  • body是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{}包围。
  • 如果有返回值,在函数体中使用return语句返回。return出来的数据的类型要和dataType一样。

C语言sqrt()的用法

C语言中sqrt函数的使用方法:

C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。在VC6.0中的math.h头文件的函数原型为double sqrt(double)

说明:sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力。

程序例:

#include <stdio.h>
#include <math.h>

int main(void) {
    double x = 4.0, result;
    result = sqrt(x); // result*result=x
    printf("The square root of %f is %f\n", x, result);
    return 0;
}

VC2008后为重载函数,原型为:

  • float sqrt(float)
  • double sqrt(double)
  • double long sqrt(double long)

注意没有sqrt(int),但是返回值可以为int。

注意事项

  1. sqrt函数运行的结果是算术平方根,即不能运算出负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
  2. sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
  3. sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。

C语言中开方怎么输

一般的来说在进行开方运算时,都会使用sqrt函数进行开方运算。使用sqrt时就需要引用头文件math.h。(这里使用%d来输出整数):

#include <stdio.h>
#include <math.h>

int Mysqrt(int n) {
    return sqrt(n * 1.0);
}

int main() {
    printf("%d\n", Mysqrt(10));
    printf("%d\n", Mysqrt(9));
    return 0;
}

C语言编写注意事项

  1. 变量名以字母和数字组成, (下划线"_"被默认为字符,以下划线为首写字母的为库类变量名),变量常以小写字母开头.内部变量命前31位有效,外部名至少前6位保持唯一性、大小写在C语言中是区分的。
  2. 一个字符常量为一个整数, 以''单引号括起。 '0' 为48, 与0没有任何关系。
  3. ANSI C语言的转义符: \a 响铃符; \b 回退符; \f 换页符; \n 换行符; \r 回车符; \t 横向制表符 \v 纵向制表符; \ 反斜杠; ? 问号; ' 单引号;" 双引号; \ooo 八进制数; \xhh 十六进制数;
    '\0' 表示0, 即(null).通常以'\0'形式表示0 以强调某些表达是的字符属性。
  4. 'x'与"x"的区别: 'x'表示一个整数, 字母x在极其字符集中对应的数值、"x"表示一个包含一个字符x 以及一个结束符'\0'。
  5. const在声明变量中起限制作用, 该限定变量的值不能被修改。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号