トップページ – 新C++編 – Hello, Worldプログラム
このページは、練習問題の解答例や解説のページです。
次のプログラムのエラーを指摘してください(複数あります)。
<iostream>
include
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” と書いています。余計な空白が入っているようにみえますが、文字列リテラル内なので、プログラマーがそれで良いというのなら問題ありません(本編解説)。
次のプログラムの問題点を指摘してください。
#include <iostream>
int main()
{
std::cout
<<
"Hello, World\n";
}
このプログラムの問題点は、一言でいえば「汚い」ということです。エラーの原因になるような問題はありません。
ソースコードは、自分1人が読むものであると思わず、ほかの人でも読みやすい書き方を心がけて書くようにしましょう。独自の書き方を編み出すのではなく、一般的によく使われている書き方に従いましょう。
ソースコードをきれいにしておくことは、自分のためでもあります。最初にソースコードを書いたあなたが、いつかそのソースコードを読み返したり、修正したりしなければならないときが来るかもしれません。
以下の実行結果になるように、プログラムを作成してください。
12345
いくつか方法はありますが、素直なプログラムは次のようになります。
#include <iostream>
int main()
{
std::cout << "12345\n";
}
改行は必須ではありませんが、1行分の出力を終えたと思ったら、改行で終わっておいたほうが良いでしょう(本編解説)。
以下の実行結果になるように、プログラムを作成してください。
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
を置いた位置で改行されます。
ただ、これはプログラムの読みやすさの面では悪くなっています。
次のプログラムを実行すると、どのような出力結果になるか考えてください(この手の練習問題は、実際にプログラムを実行する前に、自分でソースコードを読んで、どうなるか考えてみてください)。
#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 (※改行なし)
お使いの PC から、iostream というファイルがどこにあるか探してみてください。
※オンラインコンパイラを使っている場合は、この問題は飛ばしてください。
コンパイラなどの開発環境をインストールしたフォルダ内のどこかにあるはずです。Visual
Studio 2019
であれば(設定を変更していなければ)C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include
にあります。
Visual Studio 2019 では、次の手順で見つけることもできます。
#include <iostream>
と書かれている行のところで右クリックし、【ドキュメントに移動】を選択するこれで、エクスプローラーが立ち上がって、iostream があるフォルダが表示されます。
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |