第1章 C言語の特徴と変遷
1.1 C言語の特徴
1.2 プログラムの実行法
1.3 C言語の規格による相違
演習問題
第2章 アルゴリズムと単純データ型
2.1 プログラムの構成
2.2 式/文/ブロック
2.3 変数宣言と初期化
2.4 入出力:printfとscanf(簡易版)
2.5 繰り返し:while文と条件分岐:if文
2.6 繰り返し:for文
2.7 繰り返し:do-while文と分岐:switch,break文
2.8 代入文と演算子
2.9 繰り返しの再開:continue文
2.10 実数型と型変換
演習問題
第3章 複合データ型:配列とポインタ
3.1 配列の基本
3.2 2次元配列
3.3 文字列の配列
3.4 配列とポインタの同一性
3.5 ポインタの演算
3.6 整形された出力
3.7 マクロ定義とインライン関数
演習問題
第4章 複合データ型:構造体と共用体
4.1 構造体の基本
4.2 ファイル入出力
4.3 構造体の利用
4.4 構造体を引数とする関数
4.5 データごとに異なる構造:共用体
4.6 構造体の応用例:線形リスト
演習問題
第5章 設計
5.1 設計とは
5.2 設計の実例:包囲ゲーム
5.3 概要設計
5.4 詳細設計
5.5 レビュー
演習問題
第6章 実装とテスト
6.1 実装/デバッグ/テスト
6.2 例題:包囲ゲーム
6.3 実装と単体テスト
6.4 単体テストの管理
6.5 統合テストとシステムテスト
6.6 境界テストとストレステスト
6.7 残っている問題
6.8 プログラムの分割とMake
演習問題
第7章 組込みシステムプログラミング
7.1 組込みシステムとは?
7.2 メモリマップとconst宣言
7.3 ビットフィールドとvolatile宣言
7.4 バッファオーバフロー
7.5 動的メモリ管理とメモリリーク
演習問題
参考文献
索引
1.1 C言語の特徴
1.2 プログラムの実行法
1.3 C言語の規格による相違
演習問題
第2章 アルゴリズムと単純データ型
2.1 プログラムの構成
2.2 式/文/ブロック
2.3 変数宣言と初期化
2.4 入出力:printfとscanf(簡易版)
2.5 繰り返し:while文と条件分岐:if文
2.6 繰り返し:for文
2.7 繰り返し:do-while文と分岐:switch,break文
2.8 代入文と演算子
2.9 繰り返しの再開:continue文
2.10 実数型と型変換
演習問題
第3章 複合データ型:配列とポインタ
3.1 配列の基本
3.2 2次元配列
3.3 文字列の配列
3.4 配列とポインタの同一性
3.5 ポインタの演算
3.6 整形された出力
3.7 マクロ定義とインライン関数
演習問題
第4章 複合データ型:構造体と共用体
4.1 構造体の基本
4.2 ファイル入出力
4.3 構造体の利用
4.4 構造体を引数とする関数
4.5 データごとに異なる構造:共用体
4.6 構造体の応用例:線形リスト
演習問題
第5章 設計
5.1 設計とは
5.2 設計の実例:包囲ゲーム
5.3 概要設計
5.4 詳細設計
5.5 レビュー
演習問題
第6章 実装とテスト
6.1 実装/デバッグ/テスト
6.2 例題:包囲ゲーム
6.3 実装と単体テスト
6.4 単体テストの管理
6.5 統合テストとシステムテスト
6.6 境界テストとストレステスト
6.7 残っている問題
6.8 プログラムの分割とMake
演習問題
第7章 組込みシステムプログラミング
7.1 組込みシステムとは?
7.2 メモリマップとconst宣言
7.3 ビットフィールドとvolatile宣言
7.4 バッファオーバフロー
7.5 動的メモリ管理とメモリリーク
演習問題
参考文献
索引