estas dudas deben ser parte de los primeros capitulos de algun curso decente...
que diferencia hay entre .h y .c?
especialmente esa...
como ven hay muchas, no logro entender cuando debo usar uno de estos.
cuando la libreria te diga cual debas usar... en teoria puede ser cualquiera, depende del programador y como hizo su trabajo... en lineas generales va
<something> para biblioteca standard
<something.h> para biblioteca no standard
<csomething> para biblioteca standard de C en C++
<something.cpp>, <something.c> no para llamar bibliotecas sino cuando haces tus encabezados para tus codigos....
aunque esto es simplemente standards de nombres, si el programador quiere que sea algo diferente, puede hacerlo