How to learn C Language
If you don't know the basics of computer programming, you shouldn't start by learning a programming language.
Instead, you should first learn the basic CONCEPTS behind all computer programming:
- Algorithms
- Data structures
- Boolean logic
For that, the following resources will come handy:
Online Wikibook: Data Structures
http://en.wikibooks.org/wiki/Data_Struct…
Online Wikibook: Algorithms
http://en.wikibooks.org/wiki/Algorithms
Book: Niklaus Wirth's "Algorithms + Data Structures = Programs"
http://www.inf.ethz.ch/personal/wirth/bo…
Book: Introduction to Algorithms
http://www.amazon.com/dp/0262032937/?tag…
This said, "The C Programming Language" by Brian Kernighan and Dennis Ritchie is THE BEST BOOK for learning the C language, though it assumes that you're familiar with the concepts listed above.
I wouldn't recommend an absolute newbie to learn C as a first language, though, because C is a rather low level language, and learning it can become frustrating. Besides, most sane people don't program directly in C nowadays, unless they're developing system software (such as operating systems, device drivers or software for microcontrollers) or they need the best performance and resource efficiency.
As a first language, I recommend you to learn Python. It's a modern, object-oriented programming language, which is not only great as a learning tool but also very useful in real life problems.
Online resources for learning Python:
http://www.alan-g.me.uk/
http://www.diveintopython.net/
Instead, you should first learn the basic CONCEPTS behind all computer programming:
- Algorithms
- Data structures
- Boolean logic
For that, the following resources will come handy:
Online Wikibook: Data Structures
http://en.wikibooks.org/wiki/Data_Struct…
Online Wikibook: Algorithms
http://en.wikibooks.org/wiki/Algorithms
Book: Niklaus Wirth's "Algorithms + Data Structures = Programs"
http://www.inf.ethz.ch/personal/wirth/bo…
Book: Introduction to Algorithms
http://www.amazon.com/dp/0262032937/?tag…
This said, "The C Programming Language" by Brian Kernighan and Dennis Ritchie is THE BEST BOOK for learning the C language, though it assumes that you're familiar with the concepts listed above.
I wouldn't recommend an absolute newbie to learn C as a first language, though, because C is a rather low level language, and learning it can become frustrating. Besides, most sane people don't program directly in C nowadays, unless they're developing system software (such as operating systems, device drivers or software for microcontrollers) or they need the best performance and resource efficiency.
As a first language, I recommend you to learn Python. It's a modern, object-oriented programming language, which is not only great as a learning tool but also very useful in real life problems.
Online resources for learning Python:
http://www.alan-g.me.uk/
http://www.diveintopython.net/