Compared with Perl and Java, C is a difficult language because of the need to manage memory manually and fiddle with pointers. If you are a casual programmer, I would recommend that you stick with languages with automatic garbage collection such as shell/Python/Ruby/PERL/Python/AppleScript. Furthermore, you will probably write more programs in these languages than in C because of their built-in features (regular expressions, etc.)
If you are really masochistic (:-), I would recommend the following two books:
Advanced C Programming by Example Authors John Perry ISBN 0534951406 Publisher PWS Publishing Co. A difficult book (lots of pointers!) but very rewarding.
Interprocess Communications in Unix, by John Shapley Gray. An excellent book on Unix programming in C.