Coordinate covalent bonds are when one atom donates both electrons in a covalent bond. In order for this to occur, the atom must have a lone pair. Carbon does not fill its octet and have remaining lone pairs. Oxygen and Nitrogen do.
Oxygen will make two regular bonds to fill its octet, and then have two pairs remaining to make coordinate covalent bonds because those do not add to its octet. Nitrogen will make three normal bonds and have one remaining lone pair. Carbon will make four normal bonds and be done.