Let me answer your question about C-H---O first : There is no hydrogen bonding here. For H-bonding, as you have probably already read, you need a partial positive charge on the H. But the electronegativity difference between C and H is too less for any kind of substantial partial positive charge development on H. Hence the negatively charged (partial) oxygen cannot get hydrogen bonded to the C-H hydrogen.
This charge separation is substantial in the case of F, N and O. i.e, if the H is bonded to these. So, F-H---F, O-H---O, N-H---N, O-H---F, O-H---N, (and all the other permutations) are considered to be hydrogen bonded ones.
HCl is not hydrogen bonded, although there is a good amount of dipole-dipole attraction. Due to the size of Cl, this interaction is weaker than the usual H bonds.
Hope my explanation was clear.