質問なのですが、

fprintf(fp,"%lf\n",(double)((short)x));

という文は何を示しているのですか?
fpで開けたファイルにxという数字をdouble型で格納しているのでしょうか?
shortとは何を示しているのでしょうか?