专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

c语言开根号运算符是什么

来源:小易整编  作者:小易  发布时间:2024-03-15 08:02
摘要:在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt()”,使用语法“sqrt(数值x)”;例如“sqrt(4)”,就是对4进行平方根运算,结果为2。sqrt()是c语言内置的开根号运算函数,其运算结果是函数变量的算术平方根;该函...

在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt()”,使用语法“sqrt(数值x)”;例如“sqrt(4)”,就是对4进行平方根运算,结果为2。sqrt()是c语言内置的开根号运算函数,其运算结果是函数变量的算术平方根;该函数既不能运算负数值,也不能输出虚数结果。

c语言开根号运算符是什么

本教程操作环境:windows7系统、c99版本、Dell G3电脑。

在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt()”。

c语言 sqrt()函数

C语言中sqrt意思是平方根函数,计算一个非负实数的平方根。

sqrt()是c语言内置的开根号运算函数,其运算结果是函数变量的算术平方根。

sqrt()函数既不能运算负数值,也不能输出虚数结果。

语法:

double sqrt(double x)
登录后复制

返回值:

该函数返回 x 的平方根。

sqrt()函数的使用

在头文件中加入#include之后使用sqrt即可,可以用double定义

#include#include int main(void){    printf("%lf",sqrt(4));     return 0;}
登录后复制

我们知道根号4的结果是2,输出结果也应该是2,我们一起看看实际输出的结果是否与我们理想中输出的结果一致。

输出结果:

2.000000
登录后复制

问题:

Q1:”sqrt函数参数的类型不是双精度浮点型吗?为什么在上文实例中sqrt函数的参数是一个整数,难道不是浮点数吗?这样传参会不会出现问题呢? “

R1:有必要在这里为提出这个问题的读者解答一下:“向sqrt函数传递浮点数是完全正确的,一点错误也没有。当然向sqrt函数传递一个整数也没有问题,因为在sqrt函数内传递一个整型变量会自动转换为双精度浮点型。那我们可不可以避免参数是整型转换为双精度浮点型的过程呢?当然可以。但我们需要对上文中的代码进行一小部分的修改:

#include#include int main(void){    printf("%lf",sqrt(4.0));     return 0;}
登录后复制登录后复制

这样更改便可以避免参数是整型转换为浮点型的过程,同时代码变得更加地准确。

Q2:“printf函数内的第一个参数,也就是那个奇怪字符串(“%lf”),为什么那个奇怪字符串没有输出?取而代之的是一个数字”

R2:这个问题问的非常好!如果你只是单纯地认为这只是个奇怪的字符串似乎也没错,因为如果是第一次接触,难免会感到陌生,这非常正常。但“%lf”并不是一个奇怪的字符串,而是一个占位符,我们日常写C程序时几乎离不开它。您可以这样理解:“printf是’格式化输出‘的意思,您可以把这个占位符理解为“格式化输出”中的格式化”,它可以按照占位符的内容输出后面的参数,譬如在同一个printf函数下,第一个占位符输出的是第二个参数的内容,第二个占位符输出的是第三个参数的内容,以此类推。区分是否是占位符的方法也很简单,看一个段字符串的前面是否出现“%”(百分号),如果有,代表着这是个占位符,如果没有,则代表不是占位符。在C语言中,占位符不仅仅只有“%lf”,还有许许多多的占位符,以下表格是C语言常用的占位符,每个占位符所对应的输入输出格式都是不同的。

%d以整型的形式输入输出
%f以单精度浮点型的形式输入输出
%lf以双精度浮点型的形式输入输出
%s

以字符串的形式输入输出

讨论:

为了使读者更好地理解,我们可以对上例的代码进行一个粗略的翻译(这里作者将上例的代码“搬运”到了下面当中,这样做的原因是为了避免读者回看上文)。

#include#include int main(void){    printf("%lf",sqrt(4.0));     return 0;}
登录后复制登录后复制

翻译:在程序中先包含两个头文件,它们分别是:math.h(数学头文件)与stdio.h(标准输入输出头文件)。随后我们需要编写main函数,”main“函数的数据类型是int,参数的数据类型是“void”。为什么要编写“main”这个函数呢?因为它是整个C程序的入口,在main函数的函数体内有两条语句,第一条是“printf("%lf",sqrt(4.0));”,它翻译过来的意思是:“以双精度浮点型的形式对sqrt函数的返回值进行输出(注意:当一个函数作为另一个函数的参数时,程序会先将一个函数的返回值计算出来随后再传递给另一个函数的参数)。”最后一条语句是“return 0;”,函数是必须需要一个返回值的,但void类型除外,我们的这个main函数的数据类型是int,并不是void,所以main函数需要一个返回值,虽然在多数编译器是省略main函数的返回值的,但即便如此,最好将返回值加上,这是个良好的习惯!。

(注意:不要将main函数的参数列表中的void看成是main函数的数据类型)

【相关推荐:C语言视频教程、编程教学】

以上就是c语言开根号运算符是什么的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1148071.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • c语言是什么意思

    c语言是什么意思

    一:c语言是什么意思C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言,以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低...

  • skype是什么软件

    skype是什么软件

    skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话,它使用全新的p2p【对等】技术将您与其他skype用户相连接。Skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话。Sky...

  • 计算机的三类总线分别是什么?

    计算机的三类总线分别是什么?

    计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在ram之中储存的数据的地址;数据总线用于在cpu与ram之间来回传送需要处理或是需要储存的数据。总线(Bus)是计...

  • 2k屏幕是什么意思

    2k屏幕是什么意思

    2k屏幕是指分辨率能够达到2560*1440的屏幕。2k是一个通用术语,指屏幕或者内容的水平分辨率达约2000像素的分辨率等级;又因“16:9”的比例是高清晰度视频规格的国际标准,所以2k分辨率在视频制作、显示屏等领域常见格式为2560*1...

  • mysql中的不等于符号是什么

    mysql中的不等于符号是什么

    mysql中的不等于符号有两种:“!=”和“”;它们都可用于判断数字、字符串、表达式是否不相等。对于“!=”和“”,如果两侧操作数不相等,返回值为1,否则返回值为0;如果两侧操作数有一个是null,那么返回值也是null。本教程操作环境:w...

  • ipad a1822是什么型号

    ipad a1822是什么型号

    ipada1822是苹果ipad第5代的型号;ipad第5代是苹果公司于2017年03月21日在美国加利福尼亚州发布的平板电脑;该机型采用铝镁合金材质一体成型结构;前端外框为白色或黑色;有银色、金色和深空灰色3种外观颜色。本教程操作环境:...

  • 周排行
  • 月排行
  • 年排行

精彩推荐