目次
1章 かんたんなプログラムを作る
- 1-01 プログラム
- プログラムとは
- プログラミング言語とは
- 1-02 C言語
- C言語とは
- C言語の規格
- 1-03 プログラムの作成
- プログラムの必要性
- プログラムができるまで
- 1-04 コードの作成
- コードの記述に必要なもの
- プログラミング環境
- 文字コード
- 1-05 コードの記述
- コードを記述する
- ファイルを保存する
- 1-06 プログラムの実行
- コンパイルとは
- リンク
- プログラムの実行方法
- この章のまとめ
- 章末復習問題
2章 C言語の基本的なルール
- 2-01 コードの読み方
- C言語のコードの読み方
- returnを途中に入れた場合
- 2-02 プログラムの構成
- C言語の基本的な構成
- ブロックとステートメント
- 関数とは
- 2-03 読みやすいコード
- 読みやすいコードを書く
- 行頭を揃える
- フリーフォーマット
- コメントを付ける
- コードを記述する際の注意点
- この章のまとめ
- 章末復習問題
3章 変数
- 3-01 変数
- 変数とは
- 変数とメモリ
- 3-02 変数の名前
- 変数に名前を付ける
- 変数名のルール
- 3-03 変数の型
- 変数の種類を決める
- 変数の代表的な型
- 変数のサイズ
- 情報の容量を表す単位
- 3-04 変数の宣言
- 変数宣言とは
- 変数宣言を行う
- 3-05 変数の代入
- 代入とは
- =と代入
- 変数に値を代入する
- 代入による値の変更
- 変数の値をほかの変数に代入する
- 扱えない値を代入するとどうなるか
- 3-06 変数の初期化
- 変数の初期化とは
- 変数を初期化する
- 3-07 変数の値を表示
- printf
- 改行コード
- 変換仕様
- 3-08 データの扱い
- いろいろなデータ
- 数値と文字の表現
- そのほかの数値の表現方法
- エスケープシーケンス
- この章のまとめ
- 章末復習問題
4章 演算子
- 4-01 演算子とは
- コンピュータと計算
- 演算子と被演算子
- 4-02 四則演算
- 加算と減算
- 乗算と除算
- 4-03 単項演算子
- 単項演算子とは
- 単項プラス・マイナス演算子
- ビット補数演算子
- 4-04 二項演算子
- 二項演算子とは
- 複合代入演算子
- シフト演算子
- 4-05 演算子の前置と後置
- インクリメント演算子・デクリメント演算子
- インクリメント・デクリメントの前置と後置
- 4-06 演算の優先順位
- 計算の順序
- 演算子の結合規則
- 4-07 型変換
- 型と計算
- 型の変換
- int型からfloat型への型変換
- 異なる型への代入
- 4-08 キャスト
- キャスト演算子とは
- キャスト利用の有無における計算結果の違い
- 同一型同士の計算における注意
- この章のまとめ
- 章末復習問題
5章 条件分岐
- 5-01 条件分け
- 条件によって行う処理を選択する
- 真と偽
- 5-02 論理式
- 論理式とは
- 関係演算子
- 論理式の真偽
- 5-03 組み合わせ条件
- 論理演算子とは
- 論理否定
- 複雑な論理式
- 5-04 if文を使った処理の分岐
- if文
- 5-05 if-else文を使った処理の分岐
- if-else文
- 複数の条件式を持つif-else文
- 変数と条件分岐
- 5-06 処理の単位
- ブロック
- ブロックを使う場合と省略できる場合
- ネスト
- 5-07 そのほかの条件分岐
- switch文による条件分岐
- if-else文による,switch文の書き換え
- switch文と条件文
- switch文とbreak文
- この章のまとめ
- 章末復習問題
6章 繰り返し処理
- 6-01 繰り返し処理を利用したプログラム
- 繰り返し処理とは
- ++を利用した繰り返し処理
- 6-02 for文
- for文とは
- for文を用いたプログラミング
- カウント変数の宣言位置
- 6-03 while文
- while文とは
- while文を用いたプログラミング
- for文とwhile文の使い分け
- 数値で条件式を指定する
- 6-04 do-while文
- do-while文とは
- do-while文とwhile文
- 6-05 break文
- 繰り返し処理におけるbreak文
- break文を用いた繰り返し制御
- break文の使いどころ
- 6-06 continue文
- continue文とは
- continue文による繰り返しの制御
- continue文を用いたプログラム
- 6-07 無限ループ
- 条件が偽にならない繰り返し
- 意図された無限ループ
- 6-08 goto文
- goto文とは
- goto文を用いたプログラム
- 敬遠されがちなgoto文
- この章のまとめ
- 章末復習問題
7章 関数
- 7-01 関数とは
- 関数と機能
- C言語の関数
- printf関数
- 7-02 関数の定義方法
- 関数の定義
- コードの中での関数宣言
- 7-03 関数の使用方法
- 関数の呼び出し
- 7-04 引数と戻り値
- 引数とは
- 引数と型
- 複数の引数を持つ関数
- 引数のない関数
- 戻り値
- 戻り値を持たない関数
- main関数
- 7-05 キーボードからの入力
- ユーザからの入力を受け取るプログラム
- 整数の入力
- 小数の入力
- 文字の入力
- 無限ループ
- 7-06 関数による処理のまとめ方
- 関数をより便利に使うために
- 関数の分け方と可読性
- 7-07 プロトタイプ宣言
- プロトタイプ宣言とは
- ヘッダーファイル
- 7-08 変数とスコープ
- グローバル変数とローカル変数
- グローバル変数
- ローカル変数
- スコープ
- ローカル変数とグローバル変数の名前付け
- 7-09 変数の寿命
- ローカル変数の寿命
- static変数
- 7-10 標準ライブラリ関数
- 標準ライブラリ関数とは
- この章のまとめ
- 章末復習問題
8章 配列
- 8-01 配列とは
- 大量のデータの格納
- 変数と配列
- 8-02 配列の宣言
- 型と要素数の指定
- インデックス
- 8-03 値の代入と初期化
- 配列に値を格納する
- 配列の初期化と要素数
- 配列の使用に関する注意
- 添字を指定して個々の要素を見る
- 8-04 配列と繰り返し文
- for文と配列の組み合わせ
- 繰り返し処理によるデータの格納
- 8-05 多次元配列
- 多次元配列とは
- 2次元配列の宣言と値の格納
- 2次元配列への値の代入
- 2次元配列を用いたプログラミング
- この章のまとめ
- 章末復習問題
9章 文字列操作
- 9-01 文字と文字列
- 文字とは
- 文字列とは
- 9-02 文字列と配列
- 配列に文字列を入れる
- 文字列の初期化
- 多く用いられる記述法
- 9-03 文字列の表示
- 文字列の内容を画面に表示する
- 変換指定子を利用する
- 9-04 そのほかの文字列操作
- 標準ライブラリ関数を利用した文字列操作
- キーボードからの入力
- string.hの読み込み
- 文字列の長さを調べる
- sizeof演算子
- 文字列を連結する
- 文字列の比較
- この章のまとめ
- 章末復習問題
10章 ポインタ
- 10-01 メモリとアドレス
- メモリとアドレス
- 変数のアドレスを知る
- 変数の値とアドレス
- 10-02 ポインタという変数
- ポインタとは
- ポインタ変数の宣言
- ポインタと型
- 10-03 アドレスの格納
- ポインタ変数にアドレスを格納する
- 10-04 ポインタから変数の値を参照する
- アドレスから値を参照する
- &演算子と*演算子
- 10-05 配列とポインタ
- 配列とアドレス
- 配列要素とアドレス
- 配列のアドレスから値を調べる
- 10-06 文字列とポインタ
- ポインタを利用して文字列を格納する
- ポインタによる文字列の格納
- 複数の文字列の管理
- 10-07 関数とポインタ
- 関数とポインタ
- 値渡し
- ポインタ渡し
- ポインタの使い道
- 10-08 配列と引数
- 配列を引数に指定する
- 配列はポインタ渡し
- ポインタと引数
- ポインタと[ ]
- この章のまとめ
- 章末復習問題
11章 ファイル入出力
- 11-01 ストリームの概念
- ストリームとは
- 11-02 入出力の書式
- 変換指定子
- 出力幅の指定
- 桁数の指定
- 11-03 ファイル入出力の流れ
- 引数のポインタ渡し(復習)
- ファイル操作の手順
- ファイルのオープン
- ファイルオープンの確認
- ファイルのクローズ
- ファイル操作のオープンとクローズ処理の確認
- ファイルの確認
- 11-04 ファイル出力
- ファイルへの出力とは
- 書式付きの出力
- 追記モード
- 11-05 ファイル入力
- ファイル読み込みの流れ
- さまざまなオープンモード
- 11-06 ランダム・アクセス
- ファイルの順次読み込み
- バイナリ・ファイル
- バイナリ・ファイルの読み込み
- ランダム・アクセス
- この章のまとめ
- 章末復習問題
12章 構造体
- 12-01 構造体とは
- 構造体の概念
- 変数とデータの管理
- 12-02 構造体の定義と宣言
- 新しい型の作成
- 構造体の変数宣言
- 12-03 構造体変数の初期化と値の代入
- 構造体の各メンバへのアクセス
- 構造体の初期化
- 構造体同士の代入
- 12-04 構造体の名前付け
- 構造体の名前
- 構造体の定義とtypedef
- 12-05 構造体の入れ子
- データの性質と構造
- 入れ子の構造体のメンバへのアクセス
- 入れ子構造の構造体の初期化
- 12-06 構造体と引数
- 呼ばれる関数(仮引数として構造体を受け取る側)
- 呼び出し側(実引数として構造体を渡す側)
- 引数に構造体を指定する
- 構造体のポインタを引数として渡す
- 12-07 構造体と配列
- 効果的な構造体の利用法
- 構造体配列
- この章のまとめ
- 章末復習問題
13章 その他の型
- 13-01 共用体
- 共用体とは
- 共用体と構造体の違い
- 共用体の定義
- 13-02 共用体の利用
- 共用体とメモリ
- 異なる型同士のメンバ変数
- 13-03 構造体と共用体
- 構造体と共用体の組み合わせ
- 13-04 列挙体
- 列挙体とは
- 列挙体の定義
- 列挙体の宣言
- 列挙体の利用
- 各定数の初期化
- この章のまとめ
- 章末復習問題
14章 プリプロセッサ
- 14-01 プリプロセッサとは
- #から始まる文
- プリプロセッサの種類
- 14-02 マクロの定義
- 事前定義済みのマクロ
- マクロとは
- マクロを使ううえでの注意
- マクロを利用した処理
- 14-03 マクロの有効な利用法
- マクロを利用しない場合
- 14-04 条件付きコンパイル
- デバッグとは
- printf文デバッグ
- 条件付きコンパイルの利用
- undefとifndef
- この章のまとめ
- 章末復習問題
15章 実践的なプログラミング
- 15-01 うるう年判定プログラム
- 実用的なプログラムの作成
- うるう年を判定する流れ
- うるう年を判定するプログラム
- 15-02 住所録関数
- 住所録の管理
- 住所録を管理する構造体
- 住所録にデータを追加する
- 住所録からデータを読み込む
- 住所録からデータを検索する
- 住所録プログラムの実行
付録 C言語の開発環境の構築
- A Microsoft Visual Studio Community 2017での環境構築
- Microsoft Visual Studio Community 2017とは
- VS Communityのインストール
- VS Communityによるプログラムの作成と実行
- 補足
- ヘッダーファイルの追加方法
- B MinGWにおけるC言語の開発環境の構築と実行
- GCCのインストール
- MinGWによるプログラムの作成と実行
- ヘッダーファイルの追加方法
- C LinuxにおけるC言語の開発環境の構築と実行
- GCCの確認と実行
- ヘッダーファイルの追加方法
- D MacにおけるC言語の開発環境の構築と実行
- Xcodeのインストール
- ヘッダーファイルの追加方法
- E VS Communityにおけるブレークポイントの利用
- デバッグ
- F Xcodeにおけるブレークポイントの利用
- デバッグ
- 章末復習問題解答