Since you want to target the mobile device stores, you'll want to learn to develop on mobile.
Android devices run Java programs. (Well, not exactly, but close enough for the For Beginner's forum). There is support for other languages like C++, but that isn't the preferred language for the platform. So with that in mind, you could consider learning Java. There are many great books on the language, but let's not suggest a full list just yet.
Apple's devices run "Objective C" programs. The language, called "Objective C", has very similar roots to C and C++. There were many variants of the language before one version was declared as the international C language standard. When the choice was made there was one "standard C" language and a bunch of "not quite C" languages. Two of them became known as C++ and Objective C, and they became popular on their own. To develop on iOS you can write some code in other languages, but you will need to be able to read and write some parts of Objective C if you go that route. In that case, you'll probably want to learn C++ first and then transition to Objective C. Again, there are many great books on the language you choose.
If you want to write cross-platform code, something that runs on both Android and Apple devices, you can't really use either language directly because the devices are so different. There are several game engines and libraries out there that can bridge the gap between the systems.
Some of them, such as Unity3D, are full-featured game engines. That means you need to provide object scripts, models, textures, and shaders. Since Unity provides the main program and you are only supplementing it, the best languages for that are C# and JavaScript.
Other cross-platform systems are much smaller libraries. They give you code for graphics, sound, and a few other features, but you need to write everything else. For a very simple game like Tiny Wings or other very simple game, "everything else" can be a short list. For major games like 3D racing or a first person shooter, "everything else" can grow to a list that requires many years of work. The list is long, but probably the two most popular right now are LibGDX (uses Java) and Cocos2d-x (uses C++).
Thinking more in the longer term, game studios rely heavily on C++ for their console and PC game engines. Studios also rely on C# for tools, infrastructure, and scripting. Java doesn't really exist on consoles but occasionally found on downloadable games, including the very notable Minecraftbut also thousands of other web games found at online game hubs everywhere. Some webpage-only games are written in JavaScript, both developers and browsers are constantly pushing the envelope of what kinds of online programs can be built directly into a web page. That means all of them have good long-term prospects even if you don't end up with your dream of a mobile device game.
There are many paths to take. If you want to be a game programmer, choosing to learn Java, C++, Objective C, C#, or JavaScript can all start you down the path. There are lists of useful books and web sites for each of them.
You could just pick one randomly, but do any of those languages interest you specifically?