Way back when, most DOS computers had floppy drives. The first floppy drive was
A: and the second floppy drive was
B:. Because -- although floppies were absurdly small by today's standards -- some types of floppies were large enough that they couldn't be copied in a single pass through memory (copy original to memory, remove original, insert new, copy memory to new). To make copying a less tedious operation, it was very common to have two floppy drives, so
B: were reserved.
When hard drives started to become common, most machines still had at least one floppy, and a great deal of software assumed that both
B: were floppies. So, the first hard drive was assigned the name
C: to avoid breaking the floppy custom.
Over the years that floppies remained common on machines that also had hard drives, the standard of
C: as the first hard drive developed into a widely assumed rule, to the point that even after floppies became uncommon (and now obsolete),
C: stuck as the assumed first hard drive.
Just to make things confusing, however, SSDs have started to replace hard drives as the
C: drive -- and some software fails to respect that a lot of users prefer that really large installations to go on their hard drive (
D:, for example) rather than their SSD.