解答:解:由y=f(x)-kx=0,得f(x)=kx
∵f(0)=ln1=0,
∴x=0是函数y=f(x)-kx的一个零点,
当x<0时,由f(x)=kx,
得-x2+
x=kx,1 2
即-x+
=k,解得x=1 2
-k,1 2
由x=
-k<0,解得k>1 2
,1 2
当x>0时,函数f(x)=ln(x+1),
f'(x)=
∈(0,1),1 x+1
∵x>0,
∴要使函数y=f(x)-kx在x>0时有一个零点,
则0<k<1,
∵k>
,1 2
∴
<k<1,1 2
即实数k的取值范围是(
,1),1 2
故选:D.