このページは、練習問題の解答例や解説のページです。
3 + 5
と "3 + 5"
はどのように違いますか?
3 + 5
は、整数リテラルの
3
、加算演算子(+
)、整数リテラルの
5
からなる計算式です。これは計算されて 8
になります。
"3 + 5"
は、文字列リテラルの “3 + 5”
であって、計算されることはありません。リテラルは「文字通りの」という意味で、ほかのものに変化しない不変なものでした(本編解説)。
両者の違いは、実際に出力してみればわかります。
#include <iostream>
int main()
{
std::cout << 3 + 5 << "\n";
std::cout << "3 + 5" << "\n";
}
実行結果:
8
3 + 5
次のプログラムの実行結果はどうなりますか?
#include <iostream>
int main()
{
std::cout << 5 + (-2) << "\n";
}
今のところ、計算式の中の ( ) の意味は、コードを見やすくするとか、意図を明確にするとか、そういう効果しかありません(本編解説)。
掛け算や割り算が出てくると、計算の順序を示す意味があります。
ですから、(-2)
は単に「-2」という負の整数です。計算式全体としては、5 に -2
を加算しているということになります。結果は 3 です。
実行結果:
3
問題2のソースコードから、リテラルと呼べるものをすべて選び出してください。
問題2のソースコードは以下のとおりです。
#include <iostream>
int main()
{
std::cout << 5 + (-2) << "\n";
}
リテラルと呼べるものは、
の3つです。-2
は 2
の部分だけがリテラルであって、-
は演算子(負符号演算子)であることに注意してください(本編解説)。
実行結果が次のようになるプログラムを作成してください。
7 + 8 = 15
ただし、計算結果である 15 の部分は、コンピュータに計算させるようにしてください。
計算式は自分で書いて、結果はコンピュータに計算させようということです。次のように書けます。
#include <iostream>
int main()
{
std::cout << "7 + 8 = " << 7 + 8 << "\n";
}
実行結果:
7 + 8 = 15
最初の式の部分はそのまま表示させるために、文字列リテラルにしなければなりません。一方、=
の後ろ側には計算結果を出力してほしいので、こちらは文字列リテラルにしてはいけません。
1~9 までのすべての整数を足し合わせた数を出力するプログラムを作成してください。
計算式は、演算子を繰り返し使って長く書けます(本編解説)。
#include <iostream>
int main()
{
std::cout << 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 << "\n";
}
実行結果:
45
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |