コンパイラだけの話をするなら、逆にいまどき有償の方が珍しいですけどね。(コンパイラ自体が有償なのは、組み込みの一部とかIntelコンパイラぐらい?)
授業で使うのなら、教える側の都合で皆に同じ物を使えという話になるんじゃないかと思います。まずは教師に確認することをお薦めします。
好きにしろ、と言われたのならとりあえず\u0026quot;gcc\u0026quot;にしておけばまず問題になることはないと思います。Windows, unix, Linux 様々なプラットフォームで使えます。「いいもの」というか、世界的標準です。
gccも基本は結構古いので置き換えようと開発が進んでいるのが\u0026quot;clang\u0026quot;ですが、まだ置き換わるまでは行っていません。
Windowsに限るなら、Windowsを作っているMicrosoftのMicrosoft C(Visual Studioに含まれる)というのもありでしょう。
まれに、前世紀の遺物 Borland C 5.5を使わされるケースもあるようですが、そんなものを使えという人からはコンピュータ技術を習ってはいけない、と私は思います。(大学はともかく、工業高校とかだと結構あるみたい)