Learning C is as good as Learning a Natural Language(such as English, Hindi, Telugu, Tamil etc)
We use Natural Languages to communicate with humans whereas we use Programming Languages such as C, Cpp, Java, Python to communicate with Compilers/Interpreters (which in turn communicate or translate our intent to Machines).
So, Learning C, boils down to, learning how to communicate with a C Compiler.
The following line is the CRUX of Programming
Programming Languages helps in the
1. Comprehension,
2. Automation, and
3. Simulation of real-world scenarios.
Every phenomena in the world is nothing but
a. a sequence of actions,
b. with many alternatives ( selection of one of the alternatives),
c. with repetitions of same sequence of actions with different alternatives
For Example, Tea Preparation consists of
1. a sequence of actions (in preparing tea)
2. with an option to select sugar/honey/jaguery as sweetener
3. repetition of (1) and (2) again and again when we desire to drink Tea/Coffee.
So, a programming language should provide
sequence, (writing statements one after the other)
selection, (if, if-else, else-if ladder, switch, ?:)
iteration (for, while, do-while) constructs to simulate real-world scenarios.
A program once written to simulate the real-world scenario should be able to withstand the Universal Truth of “The only constant in life is change”.
Functions, Arrays, Pointers, Structures, Files helps in developing a robust program which can adapt to the changing environments with minimal maintaneance efforts.
So, the intent of any programming language (such as C, Cpp, Java, Python, javascript, Haskell, Scheme, ....) is to develop robust applications simulating real-world environments with minimum maintenance costs.
All the best for Your Learning.