Неправильное использование have/have got в отрицаниях и вопросах можно услышать даже от студентов уровня B2. Все потому, что изучаются эти конструкции очень рано в курсе английского, и если в детстве/школе/институте что-то запомнилось неверно, ошибка пойдет с вами дальше.
Здесь мы разберем только грамматику, не касаясь вопроса об употреблении have/have got в разных англоязычных странах. Не важно, где вы находитесь, главное используйте один из вариантов правильно.
Утверждение
Давайте возьмем для примера простое предложение:
I have a cat.
I have got a cat. (I've got a cat.)
Оба варианта правильные, смысловой разницы между ними нет. Выберите для себя один из вариантов и используйте его в своей речи всегда, не сбиваясь на альтернативный.
Отрицание
Сначала будем отрицать предложение I have a cat. Действие выражено одним глаголом have. В таком случае для отрицания нам понадобится еще один — вспомогательный — глагол. Отрицательное предложение образуется так же, как в Present Simple: c помощью don't.
Правильно: I don't have a cat.
Неправильно: I haven't a cat.
В отрицании глагол должен состоять из двух "кирпичиков". Помните об этом и никогда не используйте "куцый" вариант haven't.
Посмотрим на второе предложение I have got a cat. Здесь глагол уже состоит из двух частей: have и got. Вспомогательные глаголы не нужны, просто отрицаем первый глагол с помощью not.
Правильно: I haven't got a cat.
Вопрос
В большинстве случаев структура английского вопроса выглядит так:
{Вопросительное слово} + вспомогательный глагол + тот, кто производит действие + смысловой глагол
Наш субъект, то есть тот, кто совершает действие, должен оказаться между двух глаголов. Если в утвердительном предложении был всего один глагол, в вопросе нам понадобится второй — вспомогательный.
В предложении I have a cat глагол состоит из одного слова have. Значит, в вопросе понадобится вспомогательный глагол, который мы поставим перед субъектом, чтобы он оказался между двух глаголов:
Правильно: Do you have a cat?
Неправильно: Have you a cat?
В предложении I have got a cat глагол уже состоит из двух слов have и got. В вопросе достаточно поменять порядок слов, переместив первый глагол вперед, чтобы совершающий действие субъект оказался между двух глаголов:
Правильно: Have you got a cat?