Hello, Worldプログラム 解答ページ | Programming Place Plus 新C++編

トップページ新C++編Hello, Worldプログラム

このページの概要

このページは、練習問題の解答例や解説のページです。



解答・解説

問題1 (確認★)

次のプログラムのエラーを指摘してください(複数あります)。

include <iostream>

int Main{}
{

    std::cout >> "Hello,     World\n"

}


まず、1行目。include となっていますが、正しくは #include です(本編解説)。

3行目。main関数の名前は正確に main でなければなりませんが、Main となっています。これでは、main関数を見つけられずエラーになります(本編解説)。

同じく3行目。() であるべきところが {} になっています。括弧のかたちにもきちんと意味があるので、違うかたちの括弧を使ってはいけません(本編解説)。

6行目。std::cout に続く記号が >> になっていますが、正しくは << です。出力機能である std::cout へデータを送り込むイメージなので、左方向に向いている << です(本編解説)。

同じく6行目。末尾に ; がありません。これがないと文として完成しません(本編解説)。

エラーの原因になる間違いは以上です。

5行目と7行目に余分な空の行を入れていますが、空の行は自由に入れてよいので問題ありません(本編解説)。

また、6行目で、出力する内容を “Hello, World” と書いています。余計な空白が入っているようにみえますが、文字列リテラル内なので、プログラマーがそれで良いというのなら問題ありません(本編解説)。

問題2 (確認★)

次のプログラムの問題点を指摘してください。

    #include <iostream>

    int      main()
{


std::cout 
<<
    "Hello, World\n";

        }


このプログラムの問題点は、一言でいえば「汚い」ということです。エラーの原因になるような問題はありません。

ソースコードは、自分1人が読むものであると思わず、ほかの人でも読みやすい書き方を心がけて書くようにしましょう。独自の書き方を編み出すのではなく、一般的によく使われている書き方に従いましょう。

ソースコードをきれいにしておくことは、自分のためでもあります。最初にソースコードを書いたあなたが、いつかそのソースコードを読み返したり、修正したりしなければならないときが来るかもしれません。

問題3 (確認★)

以下の実行結果になるように、プログラムを作成してください。

12345


いくつか方法はありますが、素直なプログラムは次のようになります。

#include <iostream>

int main()
{
    std::cout << "12345\n";
}

改行は必須ではありませんが、1行分の出力を終えたと思ったら、改行で終わっておいたほうが良いでしょう(本編解説)。

問題4 (確認★)

以下の実行結果になるように、プログラムを作成してください。

1
2
3


いくつか方法はありますが、1行ごとに出力していくのが自然です。

#include <iostream>

int main()
{
    std::cout << "1\n";
    std::cout << "2\n";
    std::cout << "3\n";
}

ほかの方法として、1つにまとめてしまうやり方があります。

#include <iostream>

int main()
{
    std::cout << "1\n2\n3\n";
}

1つの文字列リテラルに、\n が何度もあらわれることも、途中に入れ込むことも可能です。とにかく \n を置いた位置で改行されます。

ただ、これはプログラムの読みやすさの面では悪くなっています。

問題5 (確認★)

次のプログラムを実行すると、どのような出力結果になるか考えてください(この手の練習問題は、実際にプログラムを実行する前に、自分でソースコードを読んで、どうなるか考えてみてください)。

#include <iostream>

int main()
{
    std::cout << "Hello";
    std::cout << ",";
    std::cout << "World";
}


ソースコードを読んで実行結果を考えるときには、C++ のプログラムは main関数からスタートするのだということを踏まえて、main関数の { の後ろから順番に1つ1つ読み進めます。

最初に std::cout << "Hello"; が登場しますから、“Hello” と出力されることが分かります。改行していません。

次に std::cout << ","; があらわれ、“,” を出力しています。先ほどの出力では改行していませんから、行を変えずに続きのところに “,” が出力されますから、この時点で、出力結果は “Hello,” となっていることが想像できます。そして、ここでも改行はしていません。

次に std::cout << "World"; があらわれ、“World” が出力されます。先ほどの出力結果の続きとして出力されますから、出力結果は “Hello, World” です。ここでも改行していません。

次は } なので、main関数は終わりです。プログラム自体の実行が終了します。

ということで、このプログラムの出力結果は、こうなります。

Hello, World (※改行なし)

問題6 (調査★★★)

お使いの PC から、iostream というファイルがどこにあるか探してみてください。

※オンラインコンパイラを使っている場合は、この問題は飛ばしてください。


コンパイラなどの開発環境をインストールしたフォルダ内のどこかにあるはずです。Visual Studio 2019 であれば(設定を変更していなければ)C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include にあります。

Visual Studio 2019 では、次の手順で見つけることもできます。

  1. Visual Studio でソースファイルを開いて、#include <iostream> と書かれている行のところで右クリックし、【ドキュメントに移動】を選択する
  2. iostream が開かれるので、タブのところで右クリックし、【このアイテムのフォルダーを開く】を選択する

これで、エクスプローラーが立ち上がって、iostream があるフォルダが表示されます。


参考リンク



更新履歴




はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る