苦しんで覚える C 言語
クルシンデオボエルシーゲンゴ
- 著者:
- MMGames(エムエムゲームス)
- 出版社:
- 秀和システム
- 出版日:
- 2011年07月
- ISBN:
- 9784798030142
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
真面目に C 言語を覚えたい初心者向けに、C 言語の基本機能を体系立てて習得できる C 言語の入門書です。ネットで人気になった同名の C 言語講座をサイト運営者自らが書籍化。C 言語の入門書はたくさんありますが、苦しんで覚える C 言語はひとつひとつの要素をスローモーションでゆっくり確実に解説していることが特徴です。本書は、はじめてプログラミングや C 言語に挑戦する人、既存の入門書では C 言語を習得できなかった人を対象に、C 言語の基礎から C 言語で使われている機能のうち一部のマニアックな機能を除いた全ての機能をやさしく丁寧に解説しています。最初はわからなくても、はじめからじっくり読み進め、各章に準備された問題を解いていくことで確実に C 言語が身につきます。iPhone アプリ開発のはじめの一歩にもおすすめします。
技書の森解説
プログラミングそのものが初めての人と、他の入門書で C 言語を習得できなかった人に向けて、ひとつひとつの要素をスローモーションでゆっくり確実に解説する入門書です。『苦しんで覚える C 言語』 (MMGames 著、秀和システム、2011 年 6 月刊) は、Web で公開されていた同名の C 言語 講座をサイト運営者自らが書籍化した一冊で、真面目に C 言語を覚えたい初心者が基本機能を体系立てて習得できる構成をとります。版元の紹介によれば、C 言語の基礎から、使われている機能のうち一部のマニアックな機能を除いた全ての機能を対象にしており、各章に準備された問題を解きながら読み進める前提です。
0 章から 21 章まで、コンピュータの仕組みからポインタとファイルへ
本編は 0 章から 21 章まで続き、巻末に付録として予約語や演算子と優先順位などをまとめた単語と記号、標準ライブラリ関数一覧を収めます。0 章「コンピュータとは何か?」で CPU とメモリ、プログラムとは何かから始め、1 章では何もしないプログラムを通して C 言語の構造と main 関数、コンパイラが翻訳ソフトであることを押さえます。3 章から 6 章は画面への表示、数値の表示と計算、数値の記憶と計算 (変数、データ型、型の変換)、キーボードからの入力、7 章から 10 章は比較と判断、場合分け、回数が決まっている繰り返しと回数がわからない繰り返し、11 章と 12 章で関数の作り方と変数の寿命を扱います。13 章以降は配列、文字列、15 章のポインタ変数の仕組み、16 章の構造体、17 章のファイルの取り扱い (テキストとバイナリ)、18 章のマクロ機能、19 章の動的配列、20 章の複数のソースファイル、21 章のキーボード入力 (バッファオーバーラン対策を含む) と、実用的なプログラムに必要な要素を一つずつ加えていく流れです。
ポインタが難しい理由と、メモリから説く本書の順序
C 言語で多くの学習者が止まるのがポインタです。難しさの本質は文法にあるのではなく、変数がメモリ上のアドレスを持つ実体だという計算機側の事情を、それまで意識せずに済んでいた段階で急に求められる点にあります。C 言語は OS や組み込みを支える 低レイヤ の言語で、メモリを直接扱えることが強みであると同時に、入門者にとっての壁になります。本書は 0 章でメモリとは何かを説明し、5 章で変数をメモリとして導入し、12 章で変数の寿命を扱ってから、15 章でメモリの仕組み、変数とメモリの関係、& 付けが必要な変数の正体、アドレスを記憶する変数と節を刻んで進み、最後に配列とポインタの奇妙な関係へ至る順序をとります。6 章のキーボード入力で登場する & 付きの変数の正体を 15 章で明かすという節題の並びからは、疑問を先に体験させてから仕組みを説く設計が読み取れます。変数がメモリ上のどこに置かれ、いつ消えるかという メモリレイアウト の感覚を、文法と切り離さずに育てていく組み立てが、この本の解説が遠回りに見えて確実である理由です。
プログラミング未経験でも読める前提と、向かない読者
前提知識は不要で、はじめてプログラミングや C 言語に挑戦する人が対象に含まれています。刊行時の紹介文では iPhone アプリ開発のはじめの一歩にも勧められていますが、これは 2011 年時点の記述であり、開発環境やツールの記述は刊行時点のものとして読む必要があります。一方で、他言語の経験があり C 言語の文法だけを手早く確認したい人には、一要素ずつゆっくり進む解説は分量が多く感じられるはずです。アルゴリズムやデータ構造を主題にした本でもないため、C 言語で何を作るかを見据えた学習は、本書で土台を固めた後に別の一冊へ橋渡しする形になります。C 言語の先にコンピュータの動作原理そのものへ進みたい人には OS / 低レイヤー本の選び方 が参考になります。
C 言語の入門書で一度つまずいた人、ポインタの手前で止まった経験がある人にとって、コンピュータとメモリの説明から始めて疑問を先に体験させる本書の順序は、遠回りに見えても着実に身につく道筋になります。0 章の問いから付録の関数一覧まで手元に置いて使い切れる人であれば、投じた時間に見合う一冊です。
言及した記事 (21 件)
苦しんで覚えるDraft.js -リッチテキストエディタをシュッと作る-
♡ 267JavaScript, es6, wysiwyg, React, Draft.jsプログラミング初心者がメガベンチャーから内定貰えるようになるまでの軌跡
♡ 161初心者, ポエム, 就活時をかけるタコライス ~ アプリ作りで駆け抜けた、3つの技術 ~
♡ 33Rails, AWS, iOS, 初心者, whi-adventプログラミング初学者が半年でアプリをリリースする5つの秘訣
♡ 25C, C++, Android, 初心者, 初心者向け質問[読んでおいたほうがいい本]の69回答のまとめ
♡ 25まとめ, 技術書, 書籍, teratail, 新人プログラマ応援プログラミング初めて4年たったので学ぶ言語の選び方をまとめてみた。
♡ 16プログラミング, 初心者, 入門, プログラミング言語変数② ~ 型 ~
♡ 15C, C言語入門, プログラミング初心者, Crane&IとあるスタートアップのEMの現在地とこれから
♡ 12キャリア手を動かしてプログラミングをする意味【新人向け】
♡ 11初心者, 新人教育, 新人プログラマ応援【Go】ポインタについてまとめてみた
♡ 6Go