A、如果物体(或系统)所受到的合外力为零,则机械能不一定守恒,比如匀速上升的气球,合外力为零,机械能增加.故A错误.B、如果合外力对物体做功为零,机械能不一定守恒,比如匀速上升或匀速下降的物体,机械能不守恒,但是合力做功为零.故B错误.C、物体沿光滑曲面自由下滑,只有重力做功,机械能守恒.故C正确.D、做匀加速直线运动的物体,可能只有重力做功,机械能守恒.故D错误.故选:C.