C言語 初心者/入門書/基礎
プログラミングの世界へ ようこそこんにちは!

C言語は、誕生から実に40年以上経つプログラミング言語です。そして今日でもあらゆる所でバリバリ使われてます。
ただかなり前に作られた事もあり、現在の感覚ではイメージしにくい仕様があるのもまた事実。
でも、私はC言語が好きです。
欠点はありますが、シンプルな仕様で見通しが良く、ハードウェアの仕組みを知るのにも適しています。

ここでは書籍の紹介と共に、それらを使った私なりのC言語学習法もまとめてみました。参考になれば嬉しいです。

なお、世間にはmain関数の戻り値がintでないと気が済まない人がいます(はい、私の事です)。
しかし下で挙げている書籍の幾つかは、戻り値がvoidになっています。
とは言え、ディスるつもりは毛頭なく、初心者向けならそれもアリかなーと受け止めています。

voidだとreturnが不要なので一行減るメリットもあります。
たった一行と思うかもしれませんが、初心者にとって一行減るのは非常に大きいです(講師としての経験上)。


苦しんで覚えるC言語
MMGames
4798030147

★★★★★

 通称「くるC」。C言語入門書の新しい定番と言っても良い良書です。
タイトルから難しそうな印象を受けますが、そんな事はなく丁寧な解説が特徴です。

元々はWeb講座だったので公式サイトに行けば大体の内容は分かります。
この書籍版では、より詳しく&分かり易くなっているので、サイトを見て気になった人には強くお薦めします。

本書が優れているのは、言語仕様を説明する際に「なぜ、それが必要なのか?」をしっかり押さえている点です。
プログラマーにとっては「当たり前」でも、ある初心者にとってはピンと来ない項目は結構あります。
そういった事柄は、プログラミングが上達するほど無意識下に追いやられるので、いざ人に教える時テキトーに済ましてしまいがちです(私も講義で気を付けている点です)。

しかし、本書は解説しながら「なぜ必要か?」「どうしてこんな書き方なのか?」「これが無いと困る場面」などをくどいくらい教えてくれるので、初心者のつまづきをかなり防止できています。

また単なる文法解説に終わらず、定番の書き方、定石、マナーにまで言及していて、入門書にしては実践的な面もあります。地味に高ポイントです。

構成もなかなか考えられていて、コンパイラやメモリの仕組みをそれとなく臭わせながら書いてあります。
そして後半になればなるほど、それまでの内容が意味を持ってくるようになっています。

私が個人的に一番良い!と思ったのは「ポインタはショートカットである」という考え方です。
これは初心者にも分かり易く、これ以上ない比喩だなーと思いました。

ちなみに本書はあちこちにコラムがあり、雑学のような事が書かれていますが、これが意外に「深い」です。
この本を終えた方は、是非もう一度読み直してみる事をお薦めします。新しい発見があるはずです。


新・明解C言語 入門編
柴田 望洋
479737702X

★★★★★

 C言語入門書の定番その1です。
私も学生時代、本書を少しずつ読んでC言語を覚えました。当時はこのページ下にもある「C言語入門ビギナー編」と2冊持ちで相互補完しつつ読んでいました。私が一番最初に買ったC言語書籍は本書だったので、私のC言語における「原点」と言える一冊です。

かなりのロングセラーゆえに内容は充実。その名の通り基礎から明解に理解できるので初心者にオススメです。

私は(大学を辞めて)専門学校に入学してからプログラミングを始めたクチなので、最初の頃の授業は焦りとプレッシャーが半端なかったです。そんな状況下にあって本書は正に助け舟で、当時の私にはクルーザーにも等しい落ち着きを与えてくれた忘れられぬ一冊と言えます。

「C言語初めてみたけど難しすぎて先が不安だ」と感じている昔の私のような方には、是非本書を取って頂けると幸いです。


解きながら学ぶC言語
柴田 望洋 肘井 真一 高木 宏典 赤尾 浩
4797327901

★★★★

 上の「明解C言語 入門編」の演習問題の回答を中心に様々な問題を収録しています。「明解C言語 入門編」とセットで買うと便利です。

本書を読むうえで大事なのは(一から全部解こうとするのではなく)解けそうなor興味がある問題から手を付ける事です。そうしていると問題を全部を解かなくてもC言語を習得でき、効率よく学習を進められます。最初から順番にやろうとするとウボァーとなりますよ、間違いなく(経験者は語る)。

あと「正答率を上げよう」などとは考えず、間違える前提でホイホイ進めましょう。私の学習過程を振り返ると、間違えまくる→解答見る→なるほどわからん→そのうちわかる・・・の繰り返しパターンが多かったです。

こういう問題集的なものは途中で「積み本」状態になり易いので、進め方はひっじょーーに重要です。
まあでも時には「積みになっても良いや」と開き直る事も必要だと思います(その方が気楽に取り組めるので)。


C言語の基礎
定番言語のプログラミング能力を身につけよう! (I・O BOOKS)

大原 英郁
4777513238

★★★★★

 定番ではありませんが、ぜひ紹介したい一冊。現役専門学校講師による一風変わったC言語入門です。

何が変わっているのか?それは初心者が混乱しそうな事柄はあえて説明せず、「理解し易い事柄」のみに絞って書かれている点です。

多くの入門書が「文法を細かく丁寧に説明する」のに対し、本書は細かい事を省き「まず、これだけは理解しよう」というアプローチを取っています。

その割り切り具合が絶妙で、ストレスなく基礎を学べる構成になっています。これは、おそらく専門学校の現場で培った知恵なのでしょう。
本書はさながら専門学校の授業の実況中継のような感じで読み進められます。

その取捨選択の巧さはページ数にも現れており、本書はわずか287ページしかありません!豊富な確認問題と回答を収録しているのに、このコンパクトさは驚きです。

厳密な文法にこだわる人が見たら非難の嵐でしょうが、初心者には大変とっつき易い一冊だと思います。私も講師をしているので、読みながら色々と深く共感できました。
この本の内容を理解すれば、間違いなくC言語の基礎が身に付きます。


新C言語入門 スーパービギナー編
(C言語実用マスターシリーズ)

林 晴比古
4797325631

★★★★

 C言語入門書の定番その2です。
初心者でも理解できるように、題名どおり本当に超基本的な所から説明しています。

本当に本当に超基本なので、ある程度の知識がある人には物足りないかもしれません。だから万人には薦められませんが、私は前述の通り素人同然だったので本書も併用して効果を上げました。
かつての私のように「プログラミングどころかパソコンも初心者ですが何か?」状態の場合には助かります。たぶんこれ以上スーパービギナーな書籍は数少ないでしょう。

さすがに簡単すぎるわーという方は、下のビギナー編から読むと良いかと思います。
今になって読み返すと、あまりにもあまりにも基本過ぎる内容で笑えてきました。そして同時に自分の成長を実感した次第です。


新C言語入門 ビギナー編
(C言語実用マスターシリーズ)

林 晴比古
4797325615

★★★★★

 C言語入門書の定番その3。スーパービギナー編を読破したら次にオススメなのがこれです。少しずつ階段を上りながら学べます。
上で挙げた本たちと同様で学生時にお世話になりました。特に本書は授業のテキストだったので、表紙を見る度に青春時代の思い出が胸をよぎります。彼女はいませんでしたが。

当時は上で紹介している「明解C言語」と共に強力なツートップを形成。2冊のうちトピック毎に「分かり易い」と感じた方を最初に読み、その後にもう片方を読んで理解を深める、みたいな使い方が便利です。私はこのやり方を「スパイラル学習法」と名付けてクラスメートに薦めていました。
同じ事柄や文法でも著者によってアプローチの方法が違うので、理解を深めるのにかなり有効だったと思います。

時は流れて現在は教壇に立ち学生にC言語を教えています。今でもどういった切り口で説明するか考える際には、この2冊を読み返して参考にしています。





もどる