I'm particularly curious about how someone experienced in the field would approach this task using simpler tools, and that's why I'm looking at a fairly simple language like C (compared to something like C++) and doing only 2D for now.
Can you recommend some good learning resources that can help get me started?
That said, either choice is fine, you will likely benefit from choosing C or C++. In both cases, I would recommend SDL as a library for accessing basic graphics rendering and file loading functionality, as well as other game features like controllers and other input devices. It is platform dependent and has been around for quite some time.
An alternative useful library/framework (mostly for how widely it has been used in existing projects), is Tcl/Tk. It's not the simplest in design but it is quite capable and doesn't try to do too much more than provide 2D rendering, UI toolkit and basic input.
It's very low level C (almost no third party libraries and using only emacs.)
Casey Muratori is quite experienced and codes everything live. So you can see his thinking process, including debugging bugs. (All recordings freely available)
Source code (plus the game) available for only $15
It started out writing to raw 2D graphics buffers, but somewhere it evolved into a pseudo-3D project.
don't get me wrong: i'm an old C fan, but why not C++!?
i think especially games work well with the object-oriented paradigm.
and i would use at least some standard graphics-library, for example something "basic" like openGL - yes, you mentioned, you just want to do 2D ... but getting to know openGL wouldn't hurt and its also pretty useful for 2D ;))
just my 0.02€