Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第07回 C++講座 ~今までの復習~

第07回 C++講座 ~今までの復習~

北海道科学大学 電子計算機研究部のソフトチームで行っているC++講座の資料です。
電算部Webページ URL:http://densan.info/index.php
旧Webページ URL:http://www1.hus.ac.jp/~densan/index.htm
--------------------------------------------------
ここから資料内のURLやプログラム等
--------------------------------------------------

More Decks by 北海道科学大学 電子計算機研究部

Other Decks in Programming

Transcript

  1. 第2回の復習 ❏ cout:指定した文字や変数を画面に表示する。 cout << "表示したい文字\n" << hensu << endl;

    \nなどのエスケープシーケンス は、 特殊な文字(改行など)に置き換えられます。 変数は中に入っているデータが表示されます。 \nの代わりにendlで改行することもできます。 <<で表示する要素を増やすことができます。 4
  2. 第2回の復習 ❏ 変数 データを入れておく箱。 データの種類ごとに専用の型が存在する。 ❏ 宣言 変数を作成すること。 ❏ 代入

    変数にデータを格納すること。 ❏ 初期化 宣言と同時に代入すること。 int main() { int seisuu; seisuu = 100; } seisuu(箱の名前) INT(箱の種類) 100(データ) 変 数 作 成 100を代入 5
  3. 第3回の復習 ❏ if:条件式の真偽によって処理を分岐する cin >> data; if (data == 30

    || data > 100) { cout << "正しい!\n"; } else { cout << "正しくない!\n"; } 条件式です。 さまざまな条件を指定します。 条件式の真偽(正しいOR間違い) で処理が分岐します。 条件が正しかった(真である)場合 に、ここの処理が実行されます。 条件が正しくなかった場合 (偽で ある)場合に、ここの処理が実行 されます。 else文は省略することができま す。 6
  4. 第3回の復習 ❏ switch文:式の値によって処理を分岐する。 cin >> data; switch (data) { case

    1: cout << "入力した値は1\n"; break; case 2: cout << "入力した値は2\n"; break; default: cout << "該当する処理がありません。\n"; break; } 式です。 この値によって処理が分岐します 値です。 この値と式が同じ値のとき 処理が実行されます。 どの値とも式が一致しない 場合に実行されます。 値ごとの処理です。 case 〇:からbreak;までの 間のことです。 7
  5. 第3回の復習演習 回答 EX01if.cpp #include < iostream > using namespace std;

    int main(void) { int data; cout << "データを入力してください。 \n"; cin >> data; if (data == 30 || data > 100) { cout << "正しい!\n"; } } 9
  6. 第3回の復習演習 回答 EX02switch.cpp #include < iostream > using namespace std;

    int main(void) { char data; cin >> data; switch (data) { case 'A': cout << "ABCDEFG\n"; break; case '1': cout << "1234567890\n" ; break; case '-': cout << "◦×□△!?\n"; break; default: cout << "該当する処理がありません。 \n"; break; } } 11
  7. 第4回の復習 ❏ while文:条件が合致している間処理を繰り返す文 cin >> data; int keta = 0;

    while(data>=1) { keta++; data /= 10; } cout << "入力された値の桁数は " << keta << "桁です。\n"; 条件が正しかった(真である)場合 に、{}内の処理が繰り返し実行さ れます。 12
  8. 第4回の復習 ❏ do-while文:条件が合致している間処理を繰り返す文 char data; do { cout << "文字を入力してください:

    "; cin >> data; cout << "入力された文字は " << data << "です。" << endl; } while (data != 'z'); 条件が正しかった(真である)場合 に、{}内の処理が繰り返し実行さ れます。 while文と違い、継続条件の判定部分が後方にあるので最低一回は実行されます! 13
  9. 第4回の復習 ❏ for文:条件が合致している間処理を繰り返す文 for (int i = 0; i <

    5; i++) { cout << "ループの回数" << i << endl; } 初回の実行時のみ、初期化式 (今 回は int i=0)が実行される 条件式(今回は i<5)によって処理 を行うか選択する。 処理終了後に、ループ式 (今回は i++)が実行される 14
  10. 第4回の復習演習 回答 EX01for.cpp #include < iostream > using namespace std;

    int main(void) { int data; cout << "データを入力してください。 \n"; cin >> data; for(int i=0;i<data;i++){ cout << "こんにちは\n"; } } 16
  11. 第4回の復習演習 回答 EX02while.cpp #include < iostream > using namespace std;

    int main(void) { int data; cout << "データを入力してください。 \n"; cin >> data; int keta = 0; while(data>=1) { keta++; data /= 10; } cout << "入力された値の桁数は " << keta << "桁です。" << endl; } 18
  12. 第4回の復習演習 回答 EX03do-while.cpp #include < iostream > using namespace std;

    int main(void) { char data; do { cout << "文字を入力してください: "; cin >> data; cout << "入力された文字は " << data << "です。" << endl; } while (data != 'z'); } 20
  13. 第5回の復習演習 回答 03max_min_array.cpp #include <iostream> using namespace std; int main()

    { int overall_points[] = { 730,450,560,520,390,620,550,490,850,525, 350,680,750,542,586,675,485,238,485,756, 159,956,486,756,423,365,478,459,556,684, 482,764,486,652,579,421,841,248,442,348 }; int max = 0; int min = 99999999; for (int i = 0; i < 40; i++) { if (max < overall_points[i])max = overall_points[i]; if (min > overall_points[i])min = overall_points[i]; } cout << "テストの最高点は " << max << " 点です。" << endl; cout << "テストの最低点は " << min << " 点です。" << endl; return 0; }23
  14. 第6回の復習 ❏ 関数: ❏ 処理をまとめたもの。 ❏ 引数を渡し計算を行い戻り値が帰ってくる。 ❏ 文字列: ❏

    string型を使用して記述する。 ❏ #include <string>を行うことで使用できる。 ❏ キャスト:データ型を変換できる。 ❏ マクロ: ❏ #includeでインクルード(ファイルの埋め込み) ❏ #defineで文字の置換 24
  15. 第6回の復習演習 回答 ex01string.cpp #include <iostream> #include <string> using namespace std;

    int main() { string str; string input1; string input2; cout << "文字列を二つ入力してください。 " << endl; cin >> input1 >> input2; str = input1 + input2; for (int i = 0; i < str.length(); i++) { if (str[i] == 'A')str[i] = '_'; } cout << str << endl; return 0; } 26