根据函数的解析式,分类讨论,当x≤0时,f(x)=x+cosx,求导,判断导数的符号,确定函数的单调性,根据f(0)=1>0,x→-∞时,f(x)→-∞,从而求得函数零点的个数;当x>0时,f(x)=,求导,判断导数的符号,确定函数的单调性和极值,根据f(2)=<0,f(0)=1>0,x→+∞时,f(x)→+∞,从而求得函数零点的个数.
【解析】
当x≤0时,f(x)=x+cosx,
f′(x)=1-sinx≥0,
∴f(x)在(-∞,0)上单调递增,且f(0)=1>0,x→-∞时,f(x)→-∞,
∴f(x)在(-∞,0)上有一个零点;
当x>0时,f(x)=,
f′(x)=x2-4=0,
解得x=2或x=-2(舍),
∴当0<x<2时,f′(x)<0,当x>2时,f′(x)>0,
∴f(x)在(0,2)上单调递减,在(2,+∞)上单调递增,
且f(2)=<0,f(0)=1>0,x→+∞时,f(x)→+∞,
∴f(x)在(0,+∞)上有两个零点;
综上函数f(x)=的零点个数为3个,
故选B.