yes you need to learn syntax.
you need to learn about memory allocation, pointers, references, ... to know what you're doing.
But this is the easy part. Untill this point C is just a subset of C++
Then you need to learn programming concepts.
There is a big difference between object oriented and procedural programming. And it depends on what you want to learn and want to do with your programming skills. If you want to learn object oriented programming, you need to know some the basics of procedural programming (since yes, you're still calling procedures). But when you learn too much procedural programming (meaning programming concepts, not syntax!), it might be difficult to really master object oriented programming ;-).
When you want to start with C, this is a tutorial that seems to be a good introduction:
**broken link removed**
and otherwise The C Programming Language - Kerningham and Ritchie
For C++ there are many good books
Thinking in C++ is one free book you might use to start with
**broken link removed**
There's also a book called "Thinking in Java" if you want to go with java