本格入門シリーズC言語本格入門
~基礎知識からコンピュータの本質まで

書籍の概要

この本の概要

現場の最前線で開発をしている著者が,C言語の基本から応用までを豊富なサンプルとともに丁寧に解説。入門書では軽視されがちなプリプロセッサ,ライブラリなどや,つまづきやすい「ポインタと配列」も手厚くカバー。ネットワークプログラミングやオープンソースの読み方など,長年の経験に裏打ちされた知識を伝授します。gccの利用を想定し,大規模開発にも対応できるMakeを使った実行方法をとっているので,実践的な力が身につきます。

こんな方におすすめ

  • 研修や入門書で輪郭はなぞったものの,手が動かないC言語プログラマ
  • なんらかのプログラミング言語は使ったことがあるがC言語は未経験のプログラマ

目次

Chapter 1 イントロダクション

  • 1-1 C言語とは
  • 1-2 C言語につまづかないこつ
  • 1-3 開発者ツールを準備する
  • 1-4 C言語の開発者ツールの役割
  • 1-5 はじめる前に押さえておきたい基本的事項

Chapter 2 データを識別して保持する

  • 2-1 データ型の基本
  • 2-2 データ型を指定して変数を宣言する
  • 2-3 文字と文字列
  • 2-4 記憶クラス
  • 2-5 キャスト

Chapter 3 データを加工して評価する

  • 3-1 式と演算子
  • 3-2 条件式
  • 3-3 単項演算子と三項演算子
  • 3-4 少し変わった演算子

Chapter 4 プログラムの流れを記述する

  • 4-1 制御構造とは
  • 4-2 逐次実行する
  • 4-3 条件ごとに分岐する
  • 4-4 処理を繰り返す
  • 4-5 複数の条件を振り分ける
  • 4-6 任意の場所にジャンプする

Chapter 5 プログラムを機能でまとめる

  • 5-1 関数の基本
  • 5-2 文字列を表示する
  • 5-3 文字列を入力する
  • 5-4 時間を取得する
  • 5-5 乱数を使用する
  • 5-6 標準関数が使えないケース

Chapter 6 さまざまな前処理を行う

  • 6-1 ファイルの内容で置き換える
  • 6-2 1対1で置き換える
  • 6-3 defineしたものを無効にする
  • 6-4 条件でコンパイルする
  • 6-5 関数のようなマクロ関数

Chapter 7 データをまとめて場所を指し示す

  • 7-1 配列とは
  • 7-2 ポインタとは
  • 7-3 ポインタ変数を関数でやりとりする
  • 7-4 ポインタとキャスト
  • 7-5 ダブルポインタ,トリプルポインタ
  • 7-6 特別なポインタ

Chapter 8 異なるデータ型をまとめる

  • 8-1 変数をまとめた構造体
  • 8-2 同じメモリ領域を共用する共用体
  • 8-3 ビット長を指定したフィールドに分けるビットフィールド
  • 8-4 値やデータ型に名前を付ける

Chapter 9 文字列を操作し使いこなす

  • 9-1 文字列を操作する関数
  • 9-2 文字列をコピーする
  • 9-3 文字列の長さを求める
  • 9-4 文字列を連結する
  • 9-5 文字列を比較する
  • 9-6 文字列を検索する
  • 9-6 文字列を切り出す
  • 9-7 文字関数
  • 9-8 複雑な文字列操作をかんたんにする

Chapter 10 動的メモリでデータの置く場所を自ら作る

  • 10-1 動的メモリとは
  • 10-2 メモリを確保する
  • 10-3 メモリを解放する
  • 10-4 メモリのサイズを変更する
  • 10-5 確保したメモリを使う
  • 10-6 メモリ領域を操作する標準関数
  • 10-7 リスト構造

Chapter 11 データを保存して読み出す

  • 11-1 ファイル入出力の基本
  • 11-2 標準ファイル関数
  • 11-3 ファイルの読み書きの例
  • 11-4 その他の標準ファイル関数

Chapter 12 避けて通れない応用

  • 12-1 C言語のお作法
  • 12-2 OSの機能を呼び出すシステムコール
  • 12-3 オープンソースを読んでみよう

Appendix

  • Appendix 1 優先順位表
  • Appendix 2 コンパイラオプション一覧
  • Appendix 3 Makefileの書き方

著者プロフィール

種田元樹(たねだもとき)

日本シー・エー・ディー株式会社 製品開発事業部 開発部 部長
2007年に日本シー・エー・ディー株式会社に入社以来,C言語プログラマとして勤務。
現在はC言語の他に,C#やPythonも使って,自社製品開発を行っている。
プログラミング以外にも簡単なハードウェアの設計や,自社製品の設置現場に出かけたりすることも多い。
比較的多趣味で,週末はロードバイクやランニング,楽器の演奏など,いろいろ取り組んでいて,最近は真空管アンプ作りに熱中している。
パグ好き。

ブログ:http://blogs.itmedia.co.jp/mtaneda/