I have been working with C programming a lot for the past few months (basically that is the only thing I have been doing, but I am not complaining). Why C you ask? Well, it is the closest thing to assembly in computers today so I think that is the programming language that makes the most robust code (besides, the gcc compiler on linux rocks!) and all the other languages have been complicated so much that theyr binarys are not as good as the ones that C produces (now, I havnt got any solid facts to back this up, just an oppinion).
What I have mainly been doing is serial programming (I dont know nothing about network programming unfortunately, not yet at least, maby one day). What I have found most helpful while doing that is the termios man page (man 3 termios), The Serial Programming Guide for POSIX Operating Systems and the all so nice people on #C at the openprojects.net irc.
Here are also some C tutorials that I recomend:

A good beginning tutorial

These spanish guys have it all, tutorials, book recomendations and all sorts of links, very good resource.

But beware about C and searching for help on it, when people say they are C experts then they mean what we call ANSI C, now that is just basic C and has nothing to do with how to communicate with the operating system that the program is supposed to be run on so beware when you ask for help on C programming that you know isnt ANSI C compatible, it is most of the time better to ask someone who is expert on that particular subject.
There are several addons to C that you need to know off, I wont go into the windows addons since I know nothing about them.
First there is the GTK+ toolkit that gives a nice look to your application.
Ncurses can create a nice layout on your xterm or console.
There is also a good reference to ncurses in The Linux Programming Guide chapter 8.
Motif is not really popular, but some people like it.

While your learning C be expected to hear some people say "This is not the correct way to do it!". There are a lot of ways to program in C, some ways are dependent on the compiler you use and some things you can just do in several ways. So while your learning C be prepared for more experienced programmmers to say something like that, as long as it works its ok, but you might run into situations where one way of coding works but another doesnt so it is a good thing to practice "Correct programming" as defined by the ANSI standard from the beginning.

The way to learn ANSI C is to buy the book by Kernighan and Ritchie, The C Programming Language, it is called the C bible since they are the authors of the language (Ritchie is also one of the authors of the Unix system). If you read that one from page 1 to end then you should be very comfortable in the C language.