1.
The usual arithmetic conversions are implicitly performed to cast their values in a common type,C uses the rule that, in all expressions except assignments, any implicit type conversions made from a lower size type to a higher size type as shown below:
SO DOUBLE WILL BE THE ANS..
2ND PART:
CHAR=1 BYTE,INT=2/4 BYTE,FLOAT=4 BYTE,SHORT=2 BYTE
A. IF YOU CONVERT FROM INT TO FLOAT THE VALUES CAN BE ADJUSTABLE COZ THE SIZE ARE SAME. SIMILARLY FOR OPTION C AND D.
B .FOR THIS THE CONVERSION OF INT TO CHAR IS NOT ADJUSTABLE A INT SIZE INTO A CHAR SIZE....SO THE VALUE OF CHAR NEED TO WRAPAROUND AS PER CYCLIC NATURE OF DATA TYPES
SO OPTION B IS CORRECT.
CYCLIC NATURE IS EXPLAINED HERE
http://www.cquestions.com/2009/06/cyclic-nature-of-data-type-in-c.html