プログラミング言語C K&R著の演習問題を解答していく その5
C言語のバイブルと言われる、K&Rの「プログラミング言語C」を第一章から読み進めて演習問題を記録していく。
- 作者: B.W.カーニハン,D.M.リッチー,石田晴久
- 出版社/メーカー: 共立出版
- 発売日: 1989/06/15
- メディア: 単行本
- 購入: 28人 クリック: 721回
- この商品を含むブログ (200件) を見る
第2章
2-1 問題文の意味がよくわからないのでパス。
2-2 1行の文字列を取得するfor文を、論理演算子を用いて書く。
- 2-3 16進数文字列を整数値に変換するコード。
- 2-4 文字列s1から、s2に含まれる文字を削除するコード。
- 2-5 文字列s1の中から、文字列s1がマッチした位置を返す。含まれていなかったら、-1を返す。
- 2-6 ビット(2進数の値)の一部を取得して入れ替える関数。
- 2-7 ビットの一部をビット反転する関数。
- 2-8 ビットの回転させる関数。回転とは右にシフトで押し出された値が左からシフトされる様子。
- 2-9 ビットの中の'1'の個数を数える関数。
最初、意味がさっぱり分からなくて解説をググって「x & (x - 1)の挙動」を目の当たりにして感動。 コードのアルゴリズムで感激したのは、フィボナッチ数を再帰で取得するコード以来。
- 2-10 大文字を小文字に変換するプログラム。if-else文を使わずに、? : 式を使って書く。
少しずつ進めて第2章が終了。 ビット演算のコードが面白かったのだけれど、実際には何処で活用すれば良いのだろうか。