I know you should always obey and respect your parents, but this guy seems crazy! You need to tell him how you feel, stand up, say NO YOU LISTEN TO ME and tell him what you think. Don't worry about what the punishment is,,, i guarentee you that if you stand up to him and say what you feel and he hears it, he will think of it and realize how he has been treating you. Be strong and let it all out! If your afraid, write him a message on a piece of paper and tell him how you feel. That would be the safest way but if that doesnt work,. then you stand up to him!
Also, mention on the message (if you write one) how much he cares to you and how much you love him... then say something like, "please stop treating me the way you do, it hurts my feelings when I see you that way"
Tell him you will call the cops and say he was hitting you if he doesn't stop yelling. Works all the time, you can get a car and other stuff like this.
strange probably just wants something to yell at
He's probably on his man period.
He's probably just worried that your grades will drop.