Questions b & c are referred to as "negative interrogative sentences." They are interrogative sentences, more simply referred to as questions, which are made negative. A person will use a negative interrogative sentence when they expect the answer to be "yes," or for emphasis. Questions a & d are just standard interrogative form. That is, they are just standard questions in which the speaker is not necessarily expecting a specific answer or wanting to emphasize anything.
Questions A and C the person asking the question is expecting a yes answer or is asking your opinion, or if you agree or if you did something.
Question A " It is going to rain isn't it?
Answers there are hundreds of possibilities. "yes I think so" "no I don't think so" "yes that's what the weather forecast says" "I hope not" "Yes but not yet" "yes but not until later we still have time to get there" "No we will be alright"
Question C "you did didn't you"
Answers there are also hundreds.
"Did what" "pardon" "no I didn't "= the beginning of a confusing conversation "yes I did" = another confusing conversation.
Do not use this type of question, until you have had a long exposure to English, or better still learn it in the class if you are forced to and then forget all about it.
Question B "It isn't going to rain is it?"
The asker is expecting you to give your opinion. or to confirm yes or no.
Answers are again in the hundreds of possibilities. This is a question form you will hear often In English, it is used in situations where for example you are planing to go for a day trip, and you need confirmation or reassurance that the weather is going to be fine (no rain /not rain). Normal answers is Yes or No especially in the classroom but in real life the answers are often endless.
In the classroom you will have these questions and exercises. Then when you leave the classroom, you will hear the common short versions.
"is it going to rain?" "is it going to rain today/morrow?"
"what did you do" "what are you doing" where are you going to" "when are you going/doing -->x"