既然有C语言基础的话,那么C#和Java都是可以考虑的方向,事实上C++已经和C越来越没啥关系了,基本上可以认为和C#、Java并列,即借用C风格语法的一种新的语言。
Java在语言方面完败于C#,但是考虑到学校教育的问题,Java可能更适合教学。再说我想也不会有哪个学校会直接教C# 3.0以上的版本,这样看来分歧不大。
从教学的角度来看,如果仅仅只是学习语法和算法,那么C#和Java可以认为是互通的,我想学校教学不会涉及到这两个语言的分歧点(虽然原生委托和事件支持可以少走很多弯路),所以选这两个语言恐怕都是差不多的,那干脆看老师如何算了,毕竟好的老师恐怕比语言本身来的更重要。
而C++的话,值得注意的是这个语言的进化已经可以把早期C++(C++98)和现代C++(C++1x)视为两个语言来看待了。