「C/C++自学・自習」の演習問題目次

  このページは,「C++自学・自習」で使用されている演習問題をすべて集めたものです.「C++自学・自習」に従わずに,「C/C++とJava」,または,他の解説書を参考にしながら以下の演習問題を行うのも一つの方法です.

  ここでは,演習問題の解答をコンピュータで自動判断していますが,たとえばプログラムを書くような問題の場合,ソースプログラムをチェックして答えが正しいか否かの判断を行っているわけではありません.したがって,なるべく工夫して問題を作成してはいますが,人間が判断する場合とは異なり,十分な判断を行うことはできない場合も多くあると思います.

  また,C/C++ のコンパイラが手元に無くても,プログラムを作成する課題を行うことができますが,できる限り,手元でコンパイル,実行し,エラーがないことを確認した後,作成したプログラムを送信するようにしてください.さもないと,サーバの負荷が増大し,また,時間もかかると思います.その他,演習問題を解く場合,以下の点に注意してください.

  1. 同時に複数の問題を送信しないでください.必ず,一つの問題に対する結果が得られてから(エラーの場合も含む),次の問題を送信してください.

  2. 問題の答えを送信する際,必ず学籍番号,または,メールアドレス(外部の方)を入力してください.学籍番号やメールアドレスは,演習結果の保存や演習問題の正誤の判定に利用します.それ以外の目的に利用することは決してありません.

  3. プログラムを書く問題の際は,必ず,「プログラムを書く際の注意事項」をよく読んでください.

  4. プログラムを書く問題においては,正解が得られた時点でプログラム例(解答例)を提示します.最初は,C++ の範囲で記述した例と C の範囲で記述した例の 2 つ(基本的な違いは,cin,cout を使用するか,または,scanf,printf を使用するかの点にあります)を提示しますが,「第7章 関数」以降では,1 つの例だけを提示します.基本的には,C++ の仕様に従いますが,入出力は,特に必要がない限り,scanf と printf を使用していきます.

演習問題目次

第1章 情報の表現

  1. 小数点付き 10 進数 → 2 進数
  2. 10 進数 → 2 進数,16 進数,文字
  3. 2 進数,16 進数 → 10 進数,文字
  4. 文字 → 10 進数,16 進数

第2章 プログラム作成手順

  1. 大人と子供の判定
  2. 試験結果の判別
  3. 二次方程式を解く
  4. 合格者を数える

第3章 簡単なプログラム

  1. 整数と浮動小数点数の演算
  2. 整数と浮動小数点数の演算+代入
  3. データの入力
  4. データの出力( printf )
  5. データの出力( cout )
  6. 変数の値の変化(1)
  7. 変数の値の変化(2)
  8. 和と積の計算
  9. 商と余りの計算
  10. 台形の面積
  11. 関数値の計算
  12. お釣りの計算
  13. 切り捨て,切り上げ,4捨5入
  14. 数字の分離

第4章 演算子

  1. アドレス演算子と間接演算子
  2. 関係演算子と論理演算子
  3. ビット演算子とシフト演算子
  4. ビットの取り出し
  5. 排他的論理和と論理和
  6. シフト演算子による乗算

第5章 制御文

  1. if 文
    1. if 文による実行順序の制御
    2. if 文と字下げ
    3. 大人と子供の判定
    4. 奇数と偶数の判定
    5. 倍数の判定
    6. 時間と分の変換
    7. 閏年の判定
    8. 正,0,負の判定
    9. 最大値と最小値
    10. 成績の評価
    11. 通話料の計算
  2. switch 文
    1. switch 文による実行順序の制御
  3. 繰り返し
    1. for,while 文による実行順序の制御
    2. Σ1 / k の計算
    3. 階乗の計算
    4. 奇数の和
    5. e 及び ex の近似値
    6. π の近似値
    7. データの個数
    8. 100 以上のデータの個数
    9. データの和と繰り返しの終了
    10. 3n + 1
    11. 試験の点数の評価
    12. 給与の支払い
    13. n 個のデータの最大値と最小値
    14. 1 であるビットの数
    15. 各桁の数字の分離
    16. アスタリスクによる正方形の出力
    17. 最高点と平均点

第6章 配列とポインタ

  1. 配列要素の値の変化
  2. 配列要素の出力
  3. 成分の%表示
  4. ベクトル大きさ,和,内積
  5. データの入れ替え
  6. 平均点以下の人数
  7. 2 次元平面上の点と原点との距離
  8. 末尾の桁の数字による分類
  9. 指定されたデータの平均
  10. 平面上の 2 点間の距離
  11. 先に入力されたデータのチェック
  12. 1 次元配列とポインタ
  13. 平均点以下の人数(メモリの動的確保)
  14. 行列の乗算

第7章 関数

  1. 標準関数の利用
    1. 標準入出力
    2. 1 行ずつ入力
    3. 1 文字ずつ入力
    4. 指数関数と対数関数
    5. 正弦,余弦,正接
    6. 逆三角関数
    7. 小文字,大文字の変換
    8. 区切り文字
    9. 文字列の連結
    10. 文字列の検索
    11. 文字列の置換
  2. 関数の作成
    1. 関数を使用した場合の実行順序
    2. メッセージの出力
    3. アスタリスクによる四角形の表示
    4. 正,負,0 の判定
    5. 台形の面積
    6. 商と余り
    7. 平均値の計算
    8. 成績の評価(1)
    9. 成績の評価(2)
    10. ベクトルの和
    11. 行列の乗算
    12. 試験の平均点と最高点
    13. データの受け渡し
    14. バブルソート
    15. 関数名のオーバーロード

第8章 構造体と共用体

  1. 点の座標と距離
  2. データベースの検索

第9章 プリプロセッサ

第10章 クラス

  1. クラスと構造体
  2. 点の座標と距離
  3. 点の座標と距離(コンストラクタ)
  4. 複素数の計算
  5. 分数の計算
  6. データベースの検索
  7. 待ち行列

第11章 演算子のオーバーロード

  1. 複素数の加減乗除
  2. 時間の加算と減算
  3. 日付の加算と減算

第12章 代入と初期化

  1. ベクトルの演算
  2. 行列の演算

第13章 派生クラス

  1. 正多角形の辺の長さと面積

第14章 テンプレート

  1. 任意の型のデータの除算
  2. 任意の型のデータのソート

第15章 クラスメンバーに対するポインタ

第16章 入出力クラス

C++自学・自習目次 ホームページ