So you want to know where to start, but you know basic C already? Does this mean you've given up on C and want to try something simpler and easier to grasp or?
In my honest opinion, you should choose something and stick to it like glue. Changing around too often, and you won't learn much. Get the handles on something in specific before you move onto something else.
Python is a good dynamic lanugage though as suggested above. For that reason, it probably won't help you with C/C++ much or even C# that matter with casting and strictness on that side (because it is a dynamic language and not a static one), but I would say Python is mostly similar to C rather than C++, only without the brackets.
If you are looking to start fresh, I would take a look around first, and then from seeing the bigger picture pinpoint the direction you want to go. There are lots of languages, but perhaps only a few are good for your needs, and your interests.
I've seen some good stuff in Haskell lately by @"Deque"... I've heard about the language beforehand, but I haven't seen much of it. It is powerful for math though, as with Ruby from what little I know of it. Python is decent and seems to be a well rounded language though for many to start off with.
Another good language that you do not hear often is oCaml... And I have my reasons for why that is.
edit: Or choose to head with the .NET framework and program in a language like VB.net or C#. Personally, I enjoy C# over VB.net, but to each their own. My only suggestion is that if you choose VB.net over C#, that you immediately start using Option Strict. (Set it to On, and make sure it is on... Don't ever write a program without it being on, in VB.net. Especially since you would be just starting out.)
~ArkPhaze