I challenge you on #1/#2 since there was Personal C (PCC) around the mid/late 80s. The version I had didn't have a graphics library though, so I learnt 8086 assembler and CGA/EGA calls (memory is hazy here, but probably CGA) and made my own :)
I was lucky enough to be leant a good C book by a family friend (whoops... Still have it almost 30 years later!!).
But I agree with your overall point that it was much harder to self teach back then. On the flip side however is that now there is so much choice that getting started can be a challenge as there are so many routes to choose!