Yuck! What a pig.
He likely thinks he is showing you how cool he is, you know, 50 going on 12.

I tell my daughter that she only has to be polite and tell someone to stop messing with her one time. If they do it again (getting in her personal space, being rude, kickin her- whatever) she has every right to haul off and punch them square in the gut.
Don't let this guy keep being an ass. Tell him once that you do not appreciate the inappropriate talk, or being farted at etc... and that if he continues to do it you will report him or you're gonna have to knock him in the nads something fierce.