Tout ca ce n´est que des conventions . .. tu peux inclure ce que tu veux du moment que tu respectes ensuite les règles du C ( = ne pas provoquer d´erreurs à la compilation).
Pour être propre, seuls les . h sont à inclure et comme tu l´as souligné ne contiennent que des prototypes mais encore des références externes à des variables ( globales, beurk), des defines, définitions de types etc...
Ce que tu dis à propos de < conio.c> me laisse penser que tu utilises surement DevC++, et ca me réconforte dans l´idée que c´est vrai pas terrible ! Je ne sais pas qui est l´auteur de la librairie conio pour DevC++ mais apparement c´est un porc question prog
Le fait que tu n´aies pas à inclure de . c avec stdlib, stdio c´est tout simplement parceque le " code" de ces fonctions est déjà présent dans des librairies standards ( .lib) fournies avec le compilo généralement et qui seront automatiquement ajoutée à ton programme lors du linkage. C´est pourquoi tu n´as pas à savoir comment est fait le . c ou à l´utiliser directement. Mais le . h est nécessaire pour dire à ton programme que les fonctions existent quelquepart etc...
voilà voilà