首先,make 和let 后面跟复合宾语的时候,宾补用不带to的不定式,之前某些前辈的回答说法不准确。
make 用于被动语态,表示“被迫做某事”的时候,需要把to 加上,即“be made to do”.
下面回答你的问题
第一个个问题的答案见“首先……”
第二题和第四题的答案一起回答你:从语法的角度讲,have用被动语态的时候需要加 to, let 不加to。但是have用被动语态的时候很少见。
第三个问题:前两种形式都有,第三种形式不存在。
have sb do sth 意思是“让某人做某事”
have sth done 意思是“使某件事被(别人)做”
还有一个 have sb doing sth 意思是“是某人(一直)做某事”
看看我的解答能不能解除你的疑惑