
C言語を勉強したいという方におすすめの本をまとめました!
私は、C言語がメインで使われている組み込みプログラムの業界で学業・業務と合わせて15年以上の経験があります。
私自身が、学生時代初めてプログラミングを学んだのもC言語でした。
また、社会人になってからは、初心者さんがC言語に挑戦し、挫折していく姿も、身につけ成功していく姿も見てきました。
この経験をもとに、3つのレベル「初めてのプログラミング」・「2言語目以降のプログラミング」・「C言語を極める」に分けておすすめの本を紹介していきます。
「初めてのプログラミング」の人へ
プログラミングが初めての方は、挫折しないことが目標です。
そのために、「図解が豊富でイメージがつかみやすい」・「モチベーションが湧きやすい」本を中心にセレクトしました。
Cの絵本 第2版 C言語が好きになる新しい9つの扉
初心者おすすめ度
内容の充実度
「絵本」と銘打たれているように、初めてプログラミングを始める方に向けて、イラスト豊富に優しく書かれた本になります。優しいとはいえ、内容が不足しているわけではなく、一般的なC言語の教科書の基本的な内容を収録しています。
まず、一冊目はこちらの本がおすすめです。
最新版 12歳からはじめる ゼルからのC言語ゲームプログラミング教室
初心者おすすめ度
内容の充実度
この本は、ゲームプログラミングを通じてプログラミングの楽しさを味わえる良本です。
実は、C言語を始めたての方ができることは、非常に地味です。黒い画面にひたすら計算結果を表示させる課題が続きます。もちろん、その先に派手なことができるようになるわけですが長い道のりの先です。
本書では、付属の学習支援ツールをつかうことで、グラフィカルな画面を持つソフトを作ることができ、例題を通じて様々なミニゲームを作ることになります。
まずは、興味を持って楽しむことが継続の鍵なので、その点においてこれほど優れた本はないでしょう。
ゲーム開発で学ぶC言語入門 プロのクリエイターが教える基本文法と開発技法
初心者おすすめ度
内容の充実度
こちらもゲーム開発を通じて、C言語が学べる本となります。
先程の本に比べ、内容が充実している一方で少し難易度は高く設定されています。
著者の方は、長年、大手のゲームメーカーでプログラミングをされてきた方なので、その内容は折り紙付きです。ゲーム作りに強い興味のある学生さんや仕事としてプログラミングに携わりたい方など、ある程度本気度を持ってとりくみたい方におすすめの本です。
C言語 新板 ゼロからはじめるプログラミング
初心者おすすめ度
内容の充実度
プログラミングの教師の方が著者の一冊となります。教科書として扱われることを想定していて、授業用のプレゼン資料もついている、一度で二度美味しいものとなります。
どこよりもわかりやすく突き詰めたという本ではありませんが、教科書としての質を保ちながらも、図解が豊富で丁寧に難所を説明している良い本かと思います。
C言語スタートブック
初心者おすすめ度
内容の充実度
C言語の独学書として書かれた本になります。サンプルの例題が豊富にあり、プログラムがうまく動かないときのヒントである「プログラミングアシスタント」が記載されていることが特徴です。
C言語に限らず、プログラミングの独学時にはサンプル通り、書いてみたつもりでも動かないことはよくあります。いや、必ずあります。ゆくゆくは自分でエラーコードを読み解いたり、検索して調べられるようになるのですが、最初はちんぷんかんぶんのはず。
そんなとき、考えるべきことが少しでも多く記載されているのはとても良いです。
C言語 (入門ソフトウェアシリ-ズ)
初心者おすすめ度
内容の充実度
急に古そうな本が出てきたなと思うかと思います。私が学生時代に使っていた教科書です。初めてのプログラミングでした。
自分はこの本1冊でプログラミングの基礎が身についたので、今でも感謝している一冊です。
もちろん、古い本なので、サンプルコードがうまく動かないとか、あるかもしれませんが、内容はお墨付きです。
他のプログラミング経験あり
新・明解C言語入門編
初心者おすすめ度
内容の充実度
こちらの本の最大の売りは、一番売れてるC言語の本であるということです。
もちろん、内容が優れていることも良いのですが、多くの方が使っていることで、Webにたくさんの情報が集まっています。こちらの例題を解説するブログまであったりします。
躓いたときに、検索して解決につながる確率が非常に高いことがこの本のアピールぽいんとでしょう。
また、シリーズ物で中級編へとつながっているので、よりプログラミングを深く身に着けたい方の1冊目に良い本となります。
苦しんで覚えるC言語
初心者おすすめ度
内容の充実度
有名な「苦C」というやつです。社会人として勉強する方、今「苦C」で勉強してますというと、先輩受けいいです。
というのも、初心者向けの本ではスルーしてしまうような細かい部分が丁寧に記載されているためです。本業として頑張ろうという方はぜひこちらの本にトライしてみてください。
猫でもわかるC言語プログラミング
初心者おすすめ度
内容の充実度
こちらも有名な猫でもわかるシリーズのC言語本です。定番の1冊です。もちろん、猫が理解できるわけではないですが、初心者向けに優しく書かれています。
Cプログラミング入門以前
初心者おすすめ度
内容の充実度
なかなか珍しいタイトルの一冊です。C言語に詳しい人なら、タイトルだけで良本の予感がするはずです。
というのも、C言語は最近できたプログラミング言語に比べ、コンピュータの動作に近い部分で記載することになります。
そのため、少なからコンピュータがどのような構成でできていて、どうやって動いているかを知らないとどうしても理解できない部分が出てきます。
こちらの本では、そういったC言語を使っていくうえで、プロは当然知っている前提知識を抑えるための本となります。
C言語プログラミング基本例題88+88
初心者おすすめ度
内容の充実度
この本はたくさんの例題が収録された問題集のような本です。88問の例題と88問の応用問題が掲載されています。
物事を学ぶときに実際にアウトプットするというのは非常に重要です。
もちろん、考えて答えを出せたときもそうですが、わからずに答えを見たときも大事です。
読んでふむふむと終わるのではなく、必ず本を見てあなたのパソコンに入力して動かしてみてください。
写経なんて言いますが、私も初めての言語を使う際は、まずサンプルコードを見ながら手入力します。何度かやっているうちに気づいたらその言語を使えるようになっているでしょう。
C言語ポインタ完全制覇
初心者おすすめ度
内容の充実度
まず、この本は2冊め以降の学習書です。
C言語学習の最大の難関が「ポインタ」と呼ばれる概念です。脱落者続出の項目です。
こちらのポインタを理解するために書かれた本となります。
この本の良いところはポインタが理解できないのはあなたのせいじゃないんだよ、C言語の言語仕様が良くないんだよと説いているところです。メンタルに良いです。もちろん、それがなぜかとわかる頃には、ポインタのこともわかり、C言語について自身をもってかけるようになっているでしょう。
C実践プログラミング
初心者おすすめ度
内容の充実度
この本はC言語を仕事として扱う人に向けた本です。
C言語の基本的な言語仕様の勉強を終えた段階では、ようやくスタート地点にたった状態です。仕事として扱う人はさらに、設計手法・ソース管理・デバッグ・ドキュメント作成など身につけることはたくさんあります。このへんの力量の差でエンジニアとしての仕事のスピードの違いが出てきます。
この道で食っていくぞ!という覚悟の人は是非この本で勉強しましょう!
上級者を目指す人へ
組み込みソフトウェア開発のための構造化プログラミング
初心者おすすめ度
内容の充実度
「構造化プログラミング」という言葉を初めて耳にした方も多いのではないでしょうか?
私も学生時代は聞いたことがなく、社会人になってから中堅以上の世代の方が使っているのをきき覚えました。
調べてみると、複雑な問題を細かく分解し、簡単な問題の組み合わせとして、解いていく概念ということがわかります。長くプログラミングをしている人だと、当たり前のように使っている考え方ではありますが、ここに体系化されたノウハウがあります。最近はやりの「オブジェクト指向」にもつながる考え方です。チームとして仕事をするうえで1つのプログラムを分担して作るために必要な考え方でもあります。
興味を持たれた方はぜひ読んでみて下さい。
C言語によるPICプログラミング入門
初心者おすすめ度
内容の充実度
私は組み込み屋さんなので、プログラミングは物を動かしてこそ楽しいと思っているのですが、その第一歩になるのがマイクロコンピュータ(マイコン)のプログラミングです。
いわゆる電子工作と組み合わせて簡単なものが作れるようになりたい方におすすめです。
また、この本で取り扱うPICというマイコンは古くからあるメジャーなもので、単純な構造をしているためコンピュータの動作を理解するためには最適な学習コンテンツです。
私も学生の頃PICを使ってLEDを光らせたり、スピーカーの音を鳴らしたりとしましたが、このときの学びが今の基礎になっていますね。
RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門
初心者おすすめ度
内容の充実度
C言語を深く理解したい方向けの本です。
大前提として、C言語はコンパイラというソフトを通して、アセンブリという言語に変換されます。このアセンブリという言語はCPUのアーキテクチャ(ざっくり種類だと思ってください)ごとに存在します。タイトルのRISC-Vというのは比較的新しいCPUのアーキテクチャです。C言語をコンパイラを通してRISC-Vのアセンブリに変換して見比べることで理解を深めようという、なかなか難易度の高い内容を扱います。
エンジニアとしてより高みに登りたい方はぜひご一読ください。
TCP/IPソケットプログラミング
初心者おすすめ度
内容の充実度
複雑なものを作ろうとすると、そのうちぶつかるのが通信技術です。
PCとPCの通信で最も主流の方法がTCP/IP通信になります。
そのため、多少複雑な情報システムを作ろうと思うとTCP/IPを使ったプログラミングを行うことになります。最近では、組み込み分野でもスマート化の流れを組んで、サーバーに情報を上げるなどの役割が必要なことがあります。
プログラマとしてできることの幅がぐっと広がるのでぜひ身につけましょう。
C言語デバッグ完全解説
初心者おすすめ度
内容の充実度
プログラミングがどんなに上手な人でも、バグを作らない人はいません。大きなプログラムを1発で問題なく書ける人もいません。では、プログラミングが早い人はどんな人かというと、デバッグが上手な人というのが1つの解になります。
デバッグのノウハウというのはWebで検索すれば出てくるものの、キーワードをしらないとたどり着けないことが多いです。また、1事例の紹介にとどまることがほとんどで、体系的にまとめられていることはほとんどありません。
そのためタイトルを見るだけでも、こちらの本の希少性・有用性は明らかでしょう。もちろん、内容も素晴らしくレベル別に事例が紹介されており、上級者向けにはかなり深いところまで解説されています。
本気でC言語を勉強する方は買ったほうがいいです。
テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
初心者おすすめ度
内容の充実度
「テスト駆動開発」、「オブジェクト指向」、「アジャイル」流行りの設計手法が全部盛りのこちらの本です。
これらの言葉の意味を知っている方は、えっC言語でやるの!?と驚かれる方も多いかもしれません。
組み込み屋さんはC言語で書くことが多いから、昔ながらの設計がほとんどですが、そんななかでも今どきのかっこいい設計ができるようになる本です。
エンジニアとしてレベルアップしたい人は読みましょう。
モダンC言語プログラミング
初心者おすすめ度
内容の充実度
こちらも設計手法に重きをおいた本になります。現場で長年叩き上げてきた方のみぞ知る、開発のノウハウが詰め込まれた良本になります。
C言語で解説されていますが、あらゆるプログラミング言語で活かせる考え方がてんこ盛りのおすすめ本です。
まとめ
C言語の勉強におすすめの本をレベル別に紹介してきました。
最近のプログラミング言語に比べて難しいという方もいますが、機能が少なくC言語は非常にシンプルな言語です。初心者にこそここから始めてほしいと私は思います。
すこしでも興味を持たれたら、まず一冊手にとってお手元のPCでプログラムを書いてみましょう!