打错了吧,应该是sqrt(9)吧?这个返回值是浮点数3.000000。
我们提供的服务有:成都做网站、网站建设、外贸营销网站建设、微信公众号开发、网站优化、网站认证、新干ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的新干网站制作公司
函数原型是:
double sqrt(double x);
40
把SQR带入即可。
a/=k+m*k+m/k+m*k+m
=2+1*2+1/2+1*2+1
=2+2+0+2+1
=7
a=a/7=10/7=1
选B
41
main中for循环有错,应该是i++
于是
for循环执行2次
第一次:
k=f(a++);
先取值,即k=f(2);
a再自加为3.
进入f函数。
b=0
c=3
a=c++
=3
c自加为4
b++
自加为1.
返回a即3.
第二次进入f
执行f(3)
b=0
c=4
注意c是静态的,值是上次退出的值。
a=c++
=
4
c=5
b=1
返回4
于是k=4
选D
#define 就是定义宏。
简单理解#define SQR(X) X*X ,就是告诉编译器在代码中只要遇到SQR(X)的格式就用X*X替换。比如SQR(k+m)就相当于 (k+m)*(k+m)。
定义宏的好处是,方便后期修改,多处引用,只要修改开头定义就行。
宏定义规则为直接替换。
于是
c=SQR(a)+SQR(b)
=a*a+b*b
=2*2+3*3
=4+9
=13
输出c为13
先计算右侧
SQR(k+m)/SQR(k+m)
=k+m*k+m/k+m*k+m
=2+1*2+1/2+1*2+1
=2+2+0+2+1
=7
a/=7 a=10/7=1
输出a值为1