What should I study?

Is this C what I am writing, or is it C++? Would studying a basic text on either be helpful or would the differences between Arduino and the Cs muddy the water? It seems I have little understanding of basic syntax despite what I have read ("Interactivity", "Physical Computing", "Making things Talk", and of course the "Getting started..." book)

Any guidance would be greatly appreciated (and save many of you from fielding my silly questions!)

Arduino is written in C++ but most of the syntax is C with some added Arduino abstractions. C is a subset of C++ and most of the interesting stuff you would find in a C++ book is hidden.

I think a good book on C would be a good place to start.
Practical C Programming (Oualline) or
A Book on C (kelly and pohl) are good choices.

I am inclined to recommend a C++ book.

Read the chapters that covers the structure and syntax of the language, not the ones that covers the standard libraries.
C++ book will often, or always, display code that conform to more modern conventions and practices. Additionally, it covers OOP which is supported by the Arduino through what we call 'Libraries'. All sketches written in the Arduino IDE links with C++ code.
Serial.print(); Is a thing not explained in a C book, but if you see something that looks similar, you're misguided if you expect the Serial to be an instance of a struct.

If you know C++ you posess a more modern and a more powerful tool as opposed to knowing C [which you kind of do if you know C++]

A C++ book will explain everythnig you encounter while programming the Arduino, a C book will not.

[edit]It is always a good idea to do some tutorials. Maybe download some example code and modify them. Observe the effect of the changes, and learn from them.[/edit]

Very good! Off to the book store.

Thank you both very much!