諸事情により今更ながらC言語の入門書を色々と漁っている。それも簡単なやつ。
基準は(曖昧且つ主観的だけど)こんな感じ。
- プログラミング入門も兼ねている。
- プログラミング初心者が途中で投げ出してしまわない程度に分かりやすい。
- 上記目的の為にオミットされている部分があってもOK。その点は2冊目の本でカバーしてもらう。
まあ2段構えですな。2冊目の本は『明解C言語 入門編』で、理由は「誤った記述が少ない」との定評があるから。
しかし如何せん『明解C言語 入門編』はまったくの初心者には難しいので、もう少しやさしい本を探している。*1
現状、とりあえず2冊の候補が挙がっている。中身をチェックしようと思いつつも他の用事やら何やらで全然進んでなかったのだが、いい加減そろそろ先に進めようということで、まず1冊読むことにした。
今回読むのは『やさしいC 第2版』。なぜ第3版じゃないのかというと、大人の事情というか、お金の面で都合が良いから*2。まあ中身的に微妙なら、多少はお金がかかっても他の本を購入してもらうけど。
そこそこ厚い本で、本筋の部分だけで430ページぐらいあるので、読めるところまで読んでみた。
Lesson 1 はじめの一歩
「プログラミングって何?」という所から始まり、サンプルコードを真似して書いて、ビルドして、実行するところまで説明している。特に問題はなさそう。
ただP.9に「オブジェクトファイルをリンクする」という項目があるけど、分割コンパイルとかしてない段階でこんなことを言われてもピンとこないかも。*3
Lesson 2 C言語の基本
書いてあったこと。
- 簡単なプログラムを例にCのプログラムの基本的な構成要素の説明
- printfの基本的な使い方
- 文字/文字列/数値(整数、実数)について
問題なさそう……いや「『int main(void)』のintとかvoidって何ですか?」って聞かれる可能性はあるな。注意しないと。
Lesson 3 変数
書いてあったこと。
- 変数/識別子/変数の型って何?
- 変数の使い方
- キーボードから入力されたデータを取り込む方法
基本的には問題なし。
3.3 型
変数の基本型のサイズと記憶可能な値の範囲の一覧表(P.49の表3-1)がある……。もちろん次のページに、
なお、C言語の基本型のサイズは、開発環境によって異なる場合があります。表3-1に示した「サイズ例」と「記憶できる値の範囲例」はめやすとして考えてください。
と書いてあるけど……順番的に「C言語の基本型のサイズってこの表の通りなんだ」なんて誤解される可能性がありそうなので、ちょっと注意しないと。
順を追って最後までしっかりと読んでくれれば問題ないけど、中途半端に読み飛ばされる可能性が無いとは言い切れないのが辛いところ。
3.6 キーボードからの入力
個人的にはscanfを使うサンプルは嫌いなんだけど、こればかりはどうしようもないんだろうか? まあP.69に、
実際のプログラムを作成するにあたっては、ユーザーの入力ミスを考えて、コードを記述しなければならないことを忘れないでください。
と書いてあるだけマシなんだろうけど。
Lesson 4 式と演算子
書いてあったこと。
だいたい問題なし。
4.1 式と演算子
式とか「式の評価」についてしっかりと書いてある点が、個人的に高ポイント。どこかの本に「C言語は式言語としての性格が強い」みたいなことを書いてあった気がするけど、どの本だったかなあ?*4
4.2 演算子の種類
今更ながら、「式の評価」について押さえていれば、インクリメント/デクリメントが前置と後置で挙動が違うことの説明がしやすくなるかもしれないことに気づいた。副作用の発生するタイミング云々の話じゃなくて、単に式を評価した結果として返される値が違うだけなんだよなあ。
シフト演算についても書かれている。良いと思うけど、このタイミングで大丈夫だろうか?
4.4 型変換
暗黙の型変換の規則の表か何かがあるとよかったのだが。
サイズの小さな型の変数に大きな値を代入した場合の例(P.103)で、int型の変数にdouble型の変数を代入しているのは微妙かも。shortにlongの値を代入して「妙な結果になったでしょ?」とする方がいいような……。
Lesson 6 何度も繰り返す
書いてあったこと。
- for
- while
- do-while
- break、continue
- 文のネスト
- (おまけで)goto
ほとんど問題なし。
少しだけ気になったのはP.152で、
for(i=0; i<=5; i++){
試験を受ける
}for文の処理では、変数iが1から5まで増えていく間に、試験を受けることを繰り返します。(以下略)
実際には、最終的にiは6になるんだよな……。その辺りをフォローしないと。
Lesson 7 配列
書いてあったこと。
- 配列とは?
- 配列の使い方
- 配列のソート、多次元配列
- 文字列と配列
おおむね問題はないけど……。
7.4 配列の記述のしかた
本筋とは関係ないけど、P.194のマクロ定数の例で、マクロ名がNUMなのはちょっと微妙。
7.5 配列の応用
なぜか配列のソートの話が……。正直要らないかも。多分これ、基本選択法だよな。
基本情報技術者を受ける場合は基本交換法(バブルソート)・基本選択法・基本挿入法+αをセットで覚えなきゃダメだし、実業務の場合は「(問題がなければ)qsort使え」って話になりそうだもん。
- 作者: 高橋麻奈
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/09/30
- メディア: 単行本
- クリック: 11回
- この商品を含むブログ (19件) を見る
今日はここまで。残りは半分ぐらいだけど、関数/ポインタ/構造体といった大物が控えている。気を引き締めなければ。