The difference between "I have a pen" and "I have got a pen" is mainly one of style. Also, "I have got" is very common in British English, but not used in American English.
In British English, "I have" is considered formal, "I have got" is considered informal.
The difficulty is that although the two sentences looks very similar, they are constructed very differently. Look at these sentences:
1. You have a pen.
2. You have got a pen.
I answered another post by you about auxiliary verbs. Now look at "have" in the two sentences.
1. Here, "have" is main verb -- it means "possess". This sentence has no auxiliary verb.
2. Here, the meaning of "possess" is in the main verb, "get" (here as a past participle, "got"). "Have" is an auxiliary verb.
To make questions and auxiliaries, we always need an auxiliary verb. No problem in sentence 2, but sentence 1 has no auxiliary -- so we use the dummy verb "to do", like this:
1. Do you have a pen?
2. Have you got a pen?
See how different the construction is? You need to be very careful.
Sometimes you will hear people say, "Have you a pen?" and "I haven't a pen", but this isn't really correct standard English. You'll most likely hear this construction in the idioms "I haven't a clue" and "I haven't the foggiest", which both mean "I have no idea". Those are idioms, so it's OK to use the slightly incorrect grammar here.
Interested in Language