この記事は以下の人にオススメ
- これからC言語を勉強しようと思っている方
- ある程度C言語の基本的な文法は知っていてアルゴリズムを書きながら使い方を知りたい方
- ポインタについて深く知りたい方
- C言語で何か作りながら学びたい方
C言語に関する教材はたくさんありますし、それぞれのサイトでもいろいろなものが紹介されていて正直どれにするか迷うと思います。ここでは、私が実際に今まで使ってきた書籍の中でお勧めの本を各題目1冊ずつに絞って紹介します!
これからC言語を勉強したい方におすすめ
新・明解C言語 入門編 第2版
「C言語の入門本といえばこれ」というイメージ。
私が通っていた大学のC言語の講義でも、この本に基づいて進められていました。
書籍の紹介コメントにも、
「最も明快で、最も正確なC言語入門書」として、日本で最も多くの読者を獲得しているC言語入門書
と記載されているほど、支持されている書籍。
内容としては、第1章に「まずは慣れよう」とし、簡単な足し算の結果を表示するところから始め、「変数」の「型」、「分岐」、「繰り返し」などこれからプログラミングを始める人にとって必須となる知識を網羅しています。
なによりもサンプルプログラム数が243編と豊富!
プログラミングについての知識を身に着けるためには、文字や言葉の勉強だけではなく、模写でもいいので実際に自分で手でソースコードを書いて、そのプログラムがどのような動きをするのか把握することが大事です。
その点で、サンプルプログラムが多いことは大きなメリットでしょう。
C言語の教科書として1冊は持っておきたい書籍だと思います。
アルゴリズムを書きながら使い方を知りたい方におすすめ
C言語で学ぶアルゴリズムとデータ構造
こちらの書籍も、「新・明解C言語 入門編」の著者である柴田望洋さんが書かれています。
「探索」、「スタック・キュー」「ソート」など、基本的なアルゴリズムについて網羅的に書かれており、サンプルのソースコードも豊富に掲載されています。
特に、ポインタとか配列、構造体の文法上の書き方はなんとなくわかったけど、具体的にどんな場面で使えばいいのかわからん、、となっている方におすすめです。
また、アルゴリズムの動きが目で見てわかる「アルゴリズム体験学習ソフトウェア」が用意されており、指定のサイトからダウンロードして使用することで、アルゴリズムの動き方が目で見てわかります。
そのため、
本で勉強 → アルゴリズム体験学習ソフトウェアで動きを確認 → 実際にコードを書いて動かしてみる
といった使い方ができます。
アルゴリズムの考え方や実装方法は参考になる場面が多いため、できれば2週以上この書籍を勉強し、身に着けておきたい内容です。
ポインタについて深く知りたい方におすすめ
C言語ポインタ完全制覇
これもまた、C言語、ポインタ界隈の書籍では有名な書籍。
C言語の歴史についての紹介から始まり、C言語と切っても切り離せない存在である「メモリ」についての話、「配列」と「ポインタ」の関係、ソースコードを実行することによりメモリ領域がどう割り振られるのか事細かに解説してあります。
C言語をメインで使用する人にとってポインタの知識は避けては通れない道であり、実際、この本を読んで初めて知る知識がたくさんありました。
この本にもサンプルコードが掲載されており、図が豊富に使用されています。そのため、C言語で記述したコードにより、メモリがどう使用されるのか、視覚的にわかりやすい点がポイントです。
何かを作りながら学びたい人におすすめ
この書籍は、ゲームを作りながらC言語を学んでいくことをコンセプトとした書籍です。
CUI ゲーム、GUIゲームをC言語の基本的な内容を学びながら作成していきます。
※CUI (Character User Interface): コマンドライン[Windowsでいうコマンドプロンプト]からコマンドを使用して操作を行うこと
※GUI (Graphical User Interface): 画面に表示されるボタンやアイコン、キャラクターを触って操作すること
ゲーム開発の分野ではC言語はもちろん、C++やC#などCに類似した言語を用いて開発が行われることも多く、それらの言語の基本となるC言語はやっておいて損はない言語です。
特に、構造体を使用してキャラクターのステータスを定義したり、攻撃が当たった判定をするアルゴリズムを組んだりと、本格的なゲームが作りながらC言語の使い方が身に付きます。
ゲーム開発の入門書としてもお勧めです。
ただし、こちらの書籍はMicrosoftのVisual Studio Community 2022(Windows版)を使用した環境でのみ解説されており、Macは非対応ですのでご注意ください。
まとめ
この記事では、C言語を学ぶにあたり、私がお勧めする書籍を紹介してきました。
C言語は歴史が長く、今でも根強い人気があり、IoT化が進む限りプログラマからは切っては切り離せない言語です。
ここで紹介した書籍を使用して勉強することも良いですし、C言語の書籍は上記以外にもたくさんの書籍があるので、自分でお気に入りの書籍を探してみることも面白いかもしれません。
コメント