- 演習 0-0——「Hello World」プログラムを詳しく理解する
- 演習 0-1—— 式、結果、および副作用を理解する
- 演習 0-2—— 特殊な文字列リテラルの処理を練習します。
- 演習 0-3—— 特殊な文字列リテラルの処理を練習します。
- 演習 0-4——「Hello World」プログラムを作成するプログラムを作成する
- 演習 0-5—— 範囲を理解する
- 演習 0-6—— 範囲を理解する
- 演習 0-7—— コメントの使用法を理解する
- 演習 0-8—コメントの使用法を理解する
- 演習 0-9——最短の有効なプログラムを作成する
- 演習 0-10—特殊な文字列リテラルの処理を練習します
0-0 Hello, world! をコンパイルして実行します。プログラム。
解決:
// Hello World! Program
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
使用しているコンパイラー (g++ など) を使用してビルドする必要があります。
0-1 次のステートメントは何をしますか?
3 + 4;
解決:
このステートメントは、値 7 の int (整数) を生成します。この値はどこにも保存されないことに注意してください。
0-2 実行時に「これ (") は引用符、これ (\) はバックスラッシュです」と書き込むプログラムを作成します。
解決:
ここでの秘訣は、\" や \\ などのエスケープ文字を使用して、文字列を分割する可能性がある文字を出力することです。
#include <iostream>
int main()
{
std::cout << "This (\") is a quote, and this (\\) is a backslash." << std::endl;
return 0;
}
0 ~ 3 文字列リテラル「\t」はタブ文字を表します。C++ 実装が異なれば、タブの表示方法も異なります。実装を試して、タブがどのように処理されるかを学習してください。
解決:
出力を VSCode で記述された元のコードと同様にするために、タブの代わりに 4 つのスペースが使用されます。それでも、g++ はタブに 8 個のスペースを使用するようです (つまり、タブは長さ 8 文字に揃えられます)。2 行目では、出力のドットの前に 8 個のスペースがあることがわかります。
#include <iostream>
int main()
{
std::cout << "A single tab is \n(\t)." << std::endl;
std::cout << "Seven spaces are \n( )." << std::endl;
return 0;
}
0-4 実行時に Hello, world! を書き込むプログラムを作成します。プログラムを出力として使用します。
解決:
#include <iostream>
int main()
{
std::cout
<< "// Hello World program" << std::endl
<< "#include <iostream>" << std::endl
<< "int main()" << std::endl
<< "{" << std::endl
<< " std::cout << \"Hello, world!\" << std::endl;" << std::endl
<< " return 0;" << std::endl
<< "}";
return 0;
}
0-5 これは有効なプログラムですか? なぜ、あるいはなぜそうではないのでしょうか?
#include <iostream>
int main() std::cout << "Hello, world!" << std::endl;
解決:
main 関数の後に存在するはずの中括弧が欠落しているため、これは有効なプログラムではありません。この問題に関してはコンパイル エラーが発生します。
0-6 これは有効なプログラムですか? なぜ、あるいはなぜそうではないのでしょうか?
#include <iostream>
int main() {
{
{
{
{
{ std::cout << "Hello, world!" << std::endl; }}}}}}
解決:
中括弧は無限に積み重ねることができるため、これは有効なプログラムです。中括弧は 1 組で十分ですが、変数の範囲を制限するなど、他の事柄にさらに使用できます。不要な括弧はおそらくコンパイラによって無視されました。
0-7 これはどうですか?
#include <iostream>
int main()
{
/* This is a comment that extends over several lines
because it uses /* and */ as its starting and ending delimiters */
std::cout << "Does this work?" << std::endl;
return 0;
}
解決:
コメント内の最初の */ は複数行のコメントを閉じているため、これは有効なプログラムではありません。それ以降の単語はコメント ブロックの外に残り、エラーが発生します。
0-8 そしてこれは?
#include <iostream>
int main()
{
// This is a comment that extends over several lines
// by using // at the beginning of each line instead of using /*
// or */ to delimit comments.
std::cout << "Does this work?" << std::endl;
return 0;
}
解決:
複数行のコメントでは各行の先頭に // が使用されているため、これは有効なプログラムです。
0-9 有効なプログラムのうち最短のものは何ですか?
解決:
最も短い有効なプログラムは次のとおりです。
main(){}
0-10 Hello, world! を書き換えます。プログラム内で空白が許可されている場所ではどこでも改行が発生するようにプログラムを変更します。
解決:
// Hello World program
#include <iostream>
int
main
(
)
{
std
::
cout
<<
"Hello, world!"
<<
std
::
endl
;
return
0
;
}