In this semester I have a class called "Data Structures", where we must build software with the OOP (Object-Oriented Programming) paradigm, but in the beginning of the career we had a class called "Programming Introduction", where we learned about the structured programming, with the C programming language. We did a lot of things, and then in the "Design and Construction Algorithms" class, we were supposed to learn C++ without an explanation about the OOP paradigm, so if you were an autodidact, you should have learned about OOP and C++, but in the real-world my classmates are lazy (maybe 'cause they don't want to be coders) or some of them don’t like C++.
However, now it's time to learn. At the beginning of the semester I had been using a book, "How to Program C/C++" by H.M. Deitel / P.J. Deitel, It's a nice book to learn C and C++. "Thinking in C++" by Bruce Eckel is other nice book to learn C++. But if you don't want to learn C++ or if you want to improve your knowledge about C, you should read the "Object-Oriented with ANSI C" by Axel-Tobias Schreiner, and of course "The C Programming Language" by Kernighan & Ritchie, and finally a good library reference is "The Standar C Library" by P.J. Plauger.
So, now I'm doing my homework using C++ and it’s late xD.
see ya.
PS: If you want to get these books, search in Google.
PS II: Thanks Allison!.