【例題2】計算をしてみる(変数って何?)
今回もプログラムの基本を学びます。
"計算結果の出力" です。
上記サイトの[基本 問題2]を参考にします。
例題2 aが1、bが2のとき、aとbの和を出力せよ。
問題文から適当に推測してみたのは、
aが1 → a=1
bが2 → b=2
aとbの和を出力 → a+bと書いてみる
という感じです。
前のエントリー「【例題1】文字を出力してみる」になんとなく当てはめてみたいと思います。
#include <iostream> using namespace std; int main(){ a=1; b=2; cout << a+b << endl; return 0; }
こちら実行したところエラーとなりました。
a=1とb=2の書き方にルールがあるようです。
a+bの部分は問題なさそうです。
ちなみに正解は、
#include <iostream> using namespace std; int main){ int a=1; int b=2; cout << a+b << endl; return 0; }
となります。
a=1やb=2の前に “int” という記述が追加されています。
解読編でこの辺りを解決してみたいと思います。
解読編
さっそく解読していきます。
#include <iostream> using namespace std; int main(){ }
ここは前に説明済みですので、説明は省略し、
波括弧「{」 から「 }」 の間のプログラムを考えます。
int a=1;
この部分が今回のポイントです。
ロベールのC++教室 - 第5章 変数 -
http://www7b.biglobe.ne.jp/~robe/cpphtml/
を見たところ、こういった計算をするには、
・この時の"a"は変数と呼ばれる
・変数は数字や文字を入れておく箱のようなもの
・aを使います!という"宣言"が必要
・数字を使う場合と文字を使う場合では、宣言の仕方が違う
だそうです。
少しごちゃごちゃしていますが、簡単に言うとaは数字を入れておく変数なので、
"int"
という宣言が必要とのこと。
私が書いた
a=1;
は宣言がされていないためエラーとなりました。
つまり、
int a=1;
と書くのが正解です。
そのため次の行の記述も、
int b=2;
としておきます。
おそらくこの後プログラムを書いていくうちに、"宣言していないエラー"が数多く出てくると思いますので、なんとなく覚えておくといいかと思います。
cout << a+b << endl;
こちらですが、このように書くと、「aの中身の1」と「bの中身の2」を足して、「3」を出力してくれました。
気をつけなければならないのは、a+bの部分を、
"a+b"
と書いてしまうと文字として認識され、「3」ではなく「a+b」と出力されるようです。
上記を応用し、文字と数字を組み合わせることで、出力をわかりやすくすることができます。
cout << "a+b=" << a+b << endl;
文字でa+b=、
その後に計算結果の3が出力され、
a+b=3
と見やすく出直することができました。
学習のポイント
ここで大事なのは、変数を使う場合には、
int a=1;
というように、intという"宣言"を書くことです。
変数を使った計算はこの後どんどん出てきます。
今回の例題の答えを何も考えず20回書いてみて、とりあえず暗記しちゃいましょう。
#include <iostream> using namespace std; int main(){ int a=1; int b=2; cout << a+b << endl; return 0; }