C语言中开平方函数

Python037

C语言中开平方函数,第1张

直接用两个数(或变量)相乘就可以表示平方,比如x*x

不过如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括开方)这个库函数了,使用pow(x,y)这个库函数,需要math.h头文件。

其中x和y都是双精度浮点(double)型。

#include"math.h"

U32sqrt_fun(U64x){

U32low=0;

U32high=x;

U32mid;

U64data;

while(low <high){

mid=(low+high)/2;

data=(U64)mid*mid;

if(data >x){

high=mid-1;

}else if(data <x){

low=mid+1;

}else{

return(mid);

return(mid);

voidmain(void){

volatileU32td1,td2;

U64d=0x12345678ABCD;

td2=sqrt(d);

td1=sqrt_fun(d);

扩展资料

C语言无参函数的定义:

dataType是返回值类型,它可以是C语言中的任意数据类型,例如int、float、char等。

functionName 是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。

body是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{}包围。

如果有返回值,在函数体中使用return语句返回。return出来的数据的类型要和dataType一样。

四种方法都是正确的,看不出有错。

从书写来说,

A 和 C 在 声明 td1 时,换一行写,便于阅读。

A 写成:

typedef struct

{int n

float m

}AA

AA td1

C 写成:

struct aa

{int n

float m

}

struct aa td1

1.B

2.C 根据已知运算符优先级 a || b +i&&i>j 为8||3&&1,8||3为boolean结果为1,1&&1的结果为1。

3.B. 执行语句p=arr使指针P指向数组arr的首地址(即为arr[0]),*(p+j)等价于arr[0+2]。

4.D char barr[ ]=”student”等价于char barr[ ]={’s’,’t’,’u’,’d’,’e’,’n’,'t’,'\0'},系统会自动在加给字符串数组末尾加上'\0'的。

5.B i<j的结果是0,即为0>0,结果为错(0)。

6.B

7. C

8.D ps=&st1让ps指向st1后,C语言中为了方便用ps->num来代替了(*ps).num。而结构体变量名.成员名 才跟指针(*ps).成员名等价的。

9. A td[1][0]是4,则td[1][0]+'A'即为65+4=69就是E。

10.A 字符串遇到'\0'即结束的标识符就结束输出。

11.D 宏定义,不多详解了。

12.A 赋值运算符是自右至左结合的,a- =a+=a*=10,先计算a=a*10,a=80再a=a+80,a=160最后a=a-160,a=0了

13.B

14.C

15.D 这个只是初中数学而已,不要想多了。

16.C 排除法就行了 int的范围是-32768到32767.

17.B

18.C

19.A

20.D ++自增运算符只能用于变量,不能用于常量和表达式。