- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎 へ行く。
- 1 (2015-09-02 (水) 12:01:04)
- 2 (2015-09-02 (水) 14:56:47)
- 3 (2015-09-02 (水) 17:33:56)
- 4 (2015-09-03 (木) 11:14:41)
- 5 (2015-09-08 (火) 12:54:31)
- 6 (2015-09-09 (水) 02:05:35)
- 7 (2015-09-10 (木) 12:26:16)
- 8 (2015-09-24 (木) 09:18:12)
- 9 (2015-09-24 (木) 16:40:51)
- 10 (2015-09-25 (金) 09:27:33)
- 11 (2015-09-26 (土) 08:36:48)
- 12 (2015-09-26 (土) 14:45:39)
- 13 (2015-09-28 (月) 13:19:18)
- 14 (2015-10-01 (木) 10:08:19)
- 15 (2015-10-01 (木) 16:37:15)
- 16 (2015-10-03 (土) 11:15:31)
- 17 (2015-10-03 (土) 15:39:22)
- 18 (2015-10-08 (木) 11:57:30)
- 19 (2015-10-13 (火) 20:53:39)
- 20 (2015-10-15 (木) 10:16:43)
- 21 (2015-10-15 (木) 14:19:22)
- 22 (2015-10-18 (日) 00:04:28)
- 23 (2015-10-27 (火) 18:54:08)
- 24 (2015-10-29 (木) 10:54:35)
- 25 (2015-11-04 (水) 17:32:38)
- 26 (2015-11-04 (水) 22:34:06)
- 27 (2015-11-05 (木) 15:08:59)
- 28 (2015-11-06 (金) 06:31:55)
- 29 (2015-11-09 (月) 11:01:33)
- 30 (2015-11-13 (金) 11:04:18)
- 31 (2015-11-23 (月) 16:36:30)
- 32 (2015-11-26 (木) 09:41:48)
- 33 (2015-11-26 (木) 15:40:37)
- 34 (2015-11-27 (金) 06:35:09)
- 35 (2015-12-05 (土) 15:29:18)
- 36 (2015-12-10 (木) 00:33:45)
- 37 (2015-12-10 (木) 09:17:10)
- 38 (2015-12-10 (木) 17:18:53)
- 39 (2015-12-14 (月) 09:49:59)
- 40 (2015-12-17 (木) 07:07:29)
- 41 (2015-12-21 (月) 09:20:32)
- 42 (2015-12-21 (月) 15:50:00)
- 43 (2015-12-22 (火) 17:53:50)
- 44 (2015-12-23 (水) 15:03:32)
- 45 (2015-12-24 (木) 10:34:15)
- 46 (2015-12-25 (金) 11:28:39)
- 47 (2015-12-29 (火) 11:20:13)
- 48 (2016-01-10 (日) 13:19:29)
- 49 (2016-01-12 (火) 16:48:39)
- 50 (2016-01-20 (水) 23:47:49)
- 51 (2016-01-27 (水) 11:15:25)
- 52 (2016-09-02 (金) 11:59:28)
- 53 (2016-09-06 (火) 14:12:16)
- 54 (2016-09-14 (水) 18:52:09)
- 55 (2016-09-19 (月) 15:21:25)
- 56 (2016-09-19 (月) 15:21:25)
- 57 (2016-10-17 (月) 10:35:32)
- 58 (2017-01-05 (木) 18:16:47)
授業の進行状況により予定を変更することがあります。
はじめに †
Lesson 01: Cプログラム †
- C言語の構文
- お約束
- 文字
- 文
- コメント
- 文字列
- printf文
- エスケープ文字
- 予約語
- インデント
- トークンと・フリー・フォーマット(おまけ)
- コンパイルと実行
- コンパイル
- コンパイラーとインタープリター
- gcc
- 実行
- chmod(おまけ)
- Cプログラムの作成と実行
- Windowsをプログラム開発用に設定する
- 開発用ソフトのダウンロードとインストール
- TeraPadをプログラミング用に設定する
- TeraPadでCプログラムを作成する
- CプログラムとTeraPadを関連付ける
- WinSCPでCプログラムをLinuxサーバーに転送する
- PuTTYでLinuxサーバーにログインする
- Cプログラムをコンパイルし実行する
Lesson 02: 変数と演算 †
- 変数
- 型
- int型
- double型
- 宣言
- 代入
- 初期化
- printf文による表示
- 暗黙的型変換
- オーバーフロー(おまけ)
- アンダーフロー(おまけ)
- まとめ
- 練習問題
- 演算
- 代入演算子
- 算術演算子
- 算術演算の結果の型
- 明示的型変換(キャスト)
- 演算子の優先順位
- 誤差(おまけ)
- まとめ
- 練習問題
Lesson 03: 条件分岐 †
- if文
- フローチャート
- 条件分岐
- if文
- 条件を満たさないときにも処理を行う
- 3つ以上に分岐する
- 関係演算子
- 関係演算を行うときの注意
- 論理演算子
- 論理演算を行う時の注意
- 条件に関係演算と論理演算を用いないif文(おまけ)
- まとめ
- 練習問題
Lesson 04: 画面への出力とキーボードからの入力 †
- 画面への出力
- printf関数
- 変換指定子
- 整数・小数を出力する
- 桁数を指定する
- ゼロ埋め
- 符号
- 左詰め
- エスケープ・シーケンス
- fflush関数(おまけ)
- まとめ
- 練習問題
- キーボードからの入力
- scanf関数
- 変換指定子
- 整数を入力する
- 小数を入力する
- 複数の値を入力する
- 入力ミス(おまけ)
- まとめ
- 練習問題
- 計算ゲーム
- 計算問題
- rand関数
- srand関数
- time関数
- サイコロ
- 計算ゲーム
- もうすこしマシなサイコロ(おまけ)
Lesson 05: 回数が決まっている繰り返し †
- for文
- 同じ処理を繰り返し行う
- カウント変数
- 増分・減分演算子
- for文
- 無限ループと強制停止
- 一度も処理しないfor文
- 合計を求める
- 複合代入演算子
- 繰り返し計算ゲーム
- for文のネスト
Lesson 06: 回数が決まっていない繰り返し †
- while文
- for文のおさらい
- 繰り返し処理のフローチャート
- while文
- 回数が決まっていない繰り返し
- break文
- continue文
- 正解するまで繰り返し計算ゲーム
- do-while文
- 繰り返し条件の後置判定(おまけ)
- do-while文(おまけ)
Lesson 07: プログラムの作成とテスト(数当てゲームとじゃんけんゲーム) †
- 数当てゲーム
- 実行結果をイメージする
- フローチャートを作る
- プログラムを作る
- プログラムをテストする(おまけ)
- ブラック・ボックス・テスト
- ホワイト・ボックス・テスト
- じゃんけんゲーム
- 実行結果をイメージする
- フローチャートを作る
- プログラムを作る
- 無限ループとbreak文の組み合わせでプログラムを作る
- 前置判定while文でプログラムを作る
- プログラムをテストする(おまけ)
Lesson 08: 関数 †
- 関数
- 関数の呼び出し
- 関数の定義
- 引数と戻り値がある関数の定義
- 引数がない関数の定義
- 戻り値がない関数の定義
- 関数の中で宣言した変数の有効範囲
Lesson 09: 配列 †
- 配列
- 配列の宣言
- 配列の要素にアクセスする
- セグメント・エラーに注意
- 配列のすべての要素にfor文でアクセスする
- 配列の初期化
- 配列の要素数を調べる
- 配列のコピー
- 配列は配列に代入できない
- 配列をコピーするときはすべての要素をコピーする
- 配列と関数
- 配列を関数の戻り値にすることはできない
- 配列を関数の引数にすることはできる
- 配列を関数の引数にすると要素数は無視される
- 関数に渡された配列の要素数を調べることはできない
- 配列の比較
- 配列は == で比較できない
- 配列を比較するときはすべての要素を比較する
- 2次元配列(配列の配列)
- 2次元配列の宣言
- 2次元配列の初期化
- 2次元配列のすべての要素にfor文でアクセスする
- 多次元配列
Lesson 10: 文字列 †
- 文字
- 文字はchar型の変数
- 文字はシングル・クォーテーションで囲む
- 文字を出力するときの変換指定子は %c
- エスケープ・シーケンスは1文字
- 文字は文字コードで表される
- 数字を数値に変換する(おまけ)
- 文字の種類を判別する(おまけ)
- 文字列
- 文字列はchar型の配列
- 文字列を出力するときの変換指定子は %s
- 文字列の最後は \0
- 初期化のとき以外は文字列を直接代入できない
- 文字を一つずつ代入してもう字列を作る
- 文字列をキーボードから入力する
- 文字列を引数とする関数を作る
- 文字列操作関数を使う(おまけ)
Lesson 11: 場合分け †
- switch文
- if文による場合分け
- switch文による場合分け
- 複数の場合で同じ処理をするswitch文
- 条件演算子
- if文による場合分け
- 条件演算子による場合分け
- 条件演算子を用いた変数の初期化
Lesson 12: 変数の高度な使い方 †
- 変数の高度な使い方
- 変数名
- 基本データ型
- char型
- 符号付き整数型
- 符号なし整数型
- 浮動小数点型
- 符号付き整数型と符号なし整数型の違い
- 定数
- 整定数
- 浮動小数点定数
- 文字定数
- 値を変更できない変数
- 小さな数、大きな数の入出力
- 変数の有効範囲(スコープ)
- ブロック有効範囲
- ファイル有効範囲
- 変数の有効期間(記憶域クラス)
- 静的記憶域期間
- 自動記憶域期間
- C言語の規格(おまけ)
- 列挙型(おまけ)
- 定数の接尾語(おまけ)
- 整定数の接尾語
- 浮動小数点定数の接尾語
- 複素数型(おまけ)
Lesson 13: 演算の高度な使い方 †
- 演算子の高度な使い方
- オペランド
- 増分・減分演算子の前置と後置
- ビット単位の演算子
- 補数
- 左シフト、右シフト
- 論理積
- 排他的論理和
- 論理和
- 論理演算子の短絡評価
- 配列添字演算子と関数呼び出し演算子
- 演算子の優先順位
- その他の演算子(おまけ)
- 2進数のビット列を作る(おまけ)
- 負の符号付き整数をシフト演算で2倍や1/2倍する(おまけ)
Lesson 14: 関数の高度な使い方 †
- 再帰呼び出し
- 再帰的定義
- 再帰呼び出しの振る舞い
- 注意すべきこと
- 再帰呼び出しが停止するように書く
- 再帰呼び出しが停止するように呼び出す
- なるべく再帰呼び出しを使わない
- 再帰呼び出しを使ったプログラムの例
- 階乗
- 階段の昇り方
- 値渡しと参照渡し
- 値渡し
- 参照渡し
- 配列は参照渡し
- ポインターによる参照渡し(おまけ)
- プロトタイプ宣言
- 関数のプロトタイプ宣言
- プロトタイプ宣言を省略できる場合
- 関数定義
- 関数の戻り値がint型
- プロトタイプ宣言における変数の有効範囲