The reason why Coke is short for Coca-Cola, which has no "k"

Well, basically, it comes from French. There are many things one might say about the language. One of them is this: it has very regular pronunciation rules. And one of these pronunciation rules is as follows:

  • If you have the letter "c" somewhere in a word, and it doesn't have a cedilla on it (ç):
  • If the c is followed by A, E, or I, (or potentially Y I suppose) it is soft, and produces an "s" sound
  • If the c is followed by anything else (O, U, or a consonant), it is hard, and produces a "k" sound

So, if instead of Coke, one had *Coce, the second "c" would be soft, since it's followed by an "e," and hence the word would be pronounced like "cose" (like close without the l).

"But wait," you say, "why are you talking about French? We were discussing a phenomenon of English, you silly git!" Well, I was just getting to that. When the Normans, who were French, took over England, their language (Old French) was all muddled up with the indigenous, Germanic language, and this is why we have a lot of French-ish pronunciation rules and grammar.

What that all boils down to is that we need to put the "k" in to make Coke sound like the first syllable of Coca-Cola. It's a phonetic abbreviation, not an orthographic one.