C言語基礎

2017-01-05 (木) 18:16:47 (290d) | Topic path: Top / 授業 / C言語基礎

授業の進行状況により予定を変更することがあります。

はじめに

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型
    • プロトタイプ宣言における変数の有効範囲

Lesson 15: 大規模プログラムの開発に向けて

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS