ためしながら学ぶ C 言語
タメシナガラマナブシーゲンゴ
- 著者:
- 土肥 紳一 / 大山 実 / 紫合 治(ドヒ シンイチ / オオヤマ ミノル / シゴウ オサム)
- 価格:
- ¥2,860
- 注目:
- 総合 2359 位
- 出版社:
- 東京電機大学出版局
- 出版日:
- 2020年10月06日頃
- ISBN:
- 9784501557409
- 在庫:
- 1
- 判型:
- 単行本
なぜ注目されているか
書籍紹介
技書の森解説
『ためしながら学ぶ C 言語』 (土肥 紳一、大山 実、紫合 治 著、東京電機大学出版局、2020 年 10 月刊) は、課題を解きながら C 言語を学ぶテキストです。版元の内容紹介によると、「目的を達成させるにはどのようなプログラムを組んだらよいか」という視点から課題を解きながらプログラミングを身につける構成で、IoT 技術の入門として実機の Raspberry Pi を使う組込み型プログラミングも扱います。まえがきは本書の特色として、スモールステップを多用して試しながら学べるようにしたこと、文法解説を可能な限り省略したこと、身近な話題を取り上げたこと、ハードウェアとの係わりを追求したことを挙げています。
全 12 章の題材、太陽の光から組込み型プログラミングまで
第 1 章「動作環境の準備」では、Windows 用のテキストエディターでプログラムを入力し、コマンドプロンプトから コンパイラー の gcc でコンパイルして実行するまでを整えます。その先の章は題材で区切られています。第 2 章「日常生活にある値 (意外な数字)」は太陽の光が地球に届くまでの時間や「はやぶさ 2」に電波が届く時間、不快指数の計算、第 3 章「不思議な数」は数列とフィボナッチ数列、第 4 章「モデル化とシミュレーション」は鶴亀算と売上最大化、第 5 章「デコレーション」は文字の飾り付けと三角関数の表、第 6 章「便利なツールや部品の作成」は関数の定義、第 7 章「暗号」はシーザー暗号の暗号化と復号、第 8 章「文字の出現頻度」はファイルの入力と文字数の集計、第 9 章「日本の人口」は人口統計の CSV 形式のファイルの読み込みです。本書の構成の案内では、第 10 章が数当てゲーム、第 11 章が暗算クイズ、第 12 章が組込み型プログラミングの体験で、第 12 章はシングルボードコンピューターを介して PC ではできなかったことに取り組む章と説明されています。
版元の内容紹介と「文法解説は可能な限り省略」
本書は、解きたい問題を先に置き、その問題に必要な C 言語 の文法をその場で導入します。第 3 章の数列の表示の途中で配列と繰り返しが登場し、第 6 章で第 5 章のプログラムを関数で書き直すという組み立てがその例です。第 7 章の暗号は、C 言語の文字が内部では整数として扱われることを確かめる題材になっています。本書の構成の案内は、EBCDIC コードのように文字の順序が連続していない場合の対処も扱うと説明しており、目次には配列の誤ったコピーと正しいコピーを比べる節も置かれています。C 言語の配列は同じ型の値を並べたもので、文字列は終端の印で長さを決める文字の配列です。
Raspberry Pi と組込み型プログラミングの章
使い方としてまえがきが示すのは、取り上げたプログラムを順に入力し、実行結果が一致することを試すことです。予習でつまずいたところは授業でその原因を探るよう案内しています。版元の案内では、Windows のコマンドプロンプトと gcc を使います。まえがきは、インターネットなどで調べれば分かる細かな文法を割愛したと明記しています。
Raspberry Pi のようなシングルボードコンピューターでは、プログラムが画面の表示だけでなく、つないだ部品の入出力にまで届きます。本書は、環境の準備から組込み型プログラミングまでを全 12 章に収めています。
この本に興味がある方におすすめ
関連する本
関連記事
関連用語
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
境界づけられたコンテキスト
ドメインモデルが一貫した意味を持つ範囲を明確に区切り、モデルの曖昧さを排除する DDD の戦略的パターン
構造化ログとは - JSON ログの設計と検索性
構造化ログとは、ログを JSON など機械可読な形式で出力し、フィールド単位の検索 / 集計を可能にするロギング手法。非構造化ログとの違い、含めるべきフィールド、失敗パターンを解説
自然言語処理
人間の言葉をコンピューターに理解 / 生成させる技術。翻訳や対話 AI の基盤
競技プログラミング
与えられた問題を制限時間内に正確 / 高速に解くプログラミング競技
モナド
値をコンテキスト (失敗、非同期、リスト) で包み、連鎖的に処理する関数型プログラミングの抽象