I'm confused. How can you consider VB for Linux programming? And where did you find a Linux port of QBasic?
Anyway, C is indeed a language that's available on most platforms. Beware that it's quite low-level. It has a nice standard library, but the core language itself doesn't have any operators that aren't single machine instructions on most computers. The error handling is simple. Most of the time, there isn't any, unless you implement your own. Which means that you must implement your own if you want your program not to self-destruct on invalid input.
It's possible to write C code that is readable, maintainable and robust, but it takes discipline.
In Linux, you have choices for a development environments. A pure Linux approach is to learn emacs and/or vi for editing source code, make for building projects and autoconf as an installer. (make and autoconf come later.)
It's a bit easier if you use a cross-platform IDE like NetBeans or Eclipse. Both of those packages are oriented toward Java, but have support for C and C++ development, plus some other languages as well. I use NetBeans, but Eclipse has a lot of fans. On Windows, I use Visual Studio (an old one that I got cheap years ago) but there are free mini versions called Express Editions you can download. If you want to develop GUI apps in C or C++, the Visual C++ 2008 Express Edition is a better free choice than either NetBeans or Eclipse.
...but Java with NetBeans is easier. (IMHO)