【喵呜刷题小喵解析】:一般来说,递归函数的执行效率并不一定高于非递归函数,因为递归函数在每次递归调用时都需要额外的开销,包括参数传递、压栈等,所以A选项错误。递归函数编写的关键确实是边界条件和递归关系,因为边界条件决定了递归何时停止,而递归关系则决定了递归如何进行,所以B选项正确。递归函数的嵌套调用次数是有限制的,因为函数调用需要消耗栈空间,如果嵌套调用次数过多,可能会导致栈溢出,所以C选项错误。递归函数是可以改写为非递归函数的,例如可以通过循环来模拟递归过程,所以D选项错误。