egras de conversão de tipo implícito em operadores C

Quero ser melhor em saber quando devo lançar. Quais são as regras implícitas de conversão de tipos em C ++ ao adicionar, multiplicar etc. Por exemplo,

int + float = ?
int * float = ?
float * int = ?
int / float = ?
float / int = ?
int / int = ?
int ^ float = ?

et cetera ...

A expressão sempre será avaliada como o tipo mais preciso? As regras diferem para Java? Corrija-me se eu tiver formulado esta pergunta incorretamente.

questionAnswers(9)

yourAnswerToTheQuestion