Youtube登録者5000人突破!!

【C++】変数・型・演算子 【はじめてのC++プログラミング入門講座 #3】

はじめてのC++プログラミング入門講座では、プログラミングをやったことのない人でも分かるように、C++について解説します。まずは、C++を知るところからはじめて、初心者がつまづきやすい「ポインタ」までをゴールとして進めていきます。全て無料で学べる内容となってますので、ぜひ最後までお付き合いください。

丁寧に学ぶをモットーに、ひとつずつじっくりと理解しけるように解説します。 はじめは少し退屈かもしれませんが、基礎を身に着けておくと、後が楽になります。また、プログラミング学習でよくあるのが、飛ばしすぎて途中で挫折してしまうことです。続けさえすれば力になります。じっくりゆっくり学んでいきましょう。

本講座はC++の開発環境が必要です。環境構築には第1回のVisual Studioの環境構築を参考にしてください。下記からどうぞ。

前回の第2回では、最もシンプルなプログラムを使用して、プログラムの基本を解説しました。詳細は下記からどうぞ。

重要な項目は下記の通りです。前回学んだ画面出力は、今後の講座でほぼ毎回出てきます。覚えておきましょう。

  • #include はライブラリを使えるようにする
  • <Iostream> は入出力に関する標準ライブラリ
  • int main(){ } はメイン関数
  • プログラムの実行とは、メイン関数内を実行することを意味する
  • 標準ライブラリのメソッドを使うときは頭にstd::をつける
  • プログラムの行の末尾にはセミコロン(;)をつける
  • 画面出力にはcoutを使う
  • ダブルクォーテーション(”)で囲むと文字列として認識される
  • 文字列内に特殊な文字列(\nなど)を入れることで特殊な文字を表せる
  • \n は改行を表す

変数と型、それと演算子

変数とは、簡単に言うと数学でいうxのことです。この変数を使って色々なことができるようになります。例えば、計算やたくさんの情報が入ったリスト、複雑なロジック等を作ることが出来ます。

プログラミングでは、変数に数字以外にも文字も入れられます。このときに、変数に数字や文字等のなんの情報を入れるかを指定するのが「」です。

そして、計算をするときに使うのが、「演算子」です。足す引くかける割るは四則演算と呼ばれますが、+ー×÷は演算子と呼ばれます。

基本的には、算数や数学の知識の延長線ですが、忘れている部分も多いと思うので、振り返りも兼ねて勉強しましょう。

今回のコードの全体像は下記のとおりです。VisualStudioに貼り付けてCtrl+F5で実行してみてください。

#include <iostream>
#include <string>

int main()
{
int x;
x = 3;
int y = 5;
int z;

z = x + y;

std::cout << z << "\n";
std::cout << x - y << "\n";
std::cout << x * y << "\n";
std::cout << x / y << "\n";
std::cout << x % y << "\n";

double d = 3.14;

std::cout << d / x << "\n";

char c = 'a';

std::string message = "I love";
std::string message2 = " Japan";

std::cout << message + message2;
}

出力結果は下記の通りです。

 8
 -2
 15
 0
 3
 1.04667
 I love Japan

今回のコードも上から順に一つずつ解説していきます。

ライブラリ

#include <iostream>
#include <string>

まずは標準ライブラリを使用できるようにインクルードします。iostreamは入出力ライブラリstringは後述する文字列ライブラリです。

メイン関数

int main()
{
・・・
}

前回も説明しましたが、このmain関数内のコードが実行されます。この中に実行したいコードを追加していきましょう。

型と宣言

int x;
x = 3;
int y = 5;
int z;

z = x + y;

int x;の行で変数を作成しています。変数とは数学のxやyのようなもので、好きな値を入れることができます。変数の定義にはいくつか種類があり、今回はその中でも整数を扱う整数型intを使用しています。つまり、今回作成したxには整数しかいれることができないということです。行末のセミコロンも忘れないようにしましょう。

今回はわかりやすいようにxという名前の変数を作りましたが、わかりやすければ名前は何でも良いです。helloなどの文字列でもhi_guyなどのアンダーバー(_)が入っていても大丈夫です。小文字を使うのが一般的なので、それだけは意識しておくと良いです。

x = 3;の行ではxに3を代入しています。気をつけてほしいのは、数学と違ってプログラミングではイコール(=)は等号の意味ではないことです。プログラミングでは代入をイコール(=)で表し、右に書いた数字を左に書いた変数に代入することを意味します。

int y = 5;の行では、変数yの定義とyに5を代入する作業を一行にまとめています。yは整数型で定義されているので、xと同様に整数以外の値は入りません。書き方としてはこちらのほうがスマートなのでよく使われます。

int z;の行ではzを整数型で定義しています。説明は不要ですね。

z = x + y;の行では、xとyの足した結果をzに代入しています。ここまでのプログラムでx=3,y=5と代入しているので、zの結果は3+5なので8になります。このようにイコール(=)の右側には数式を書くこともできます。イコール(=)やプラス(+)のことを演算子(オペレータ)と呼び、数字(3,5)や変数(x,y,z)のことをオペランドと呼びます。

演算子と画面出力

std::cout << z << "\n";
std::cout << x - y << "\n";
std::cout << x * y << "\n";
std::cout << x / y << "\n";
std::cout << x % y << "\n";

次は表示に関するブロックについて説明します。ここでは画面表示しながら各演算子の結果を観察します。

std::cout << z << “\n”;は前回も使用した画面出力を使用して、今回計算したzを画面に出力しています。std::cout << の部分が出力に関する情報です。std::にて標準ライブラリ内の機能を指定し、coutで出力します。今回もiostreamのライブラリをインクルードしているので、画面出力に関するcoutが使用できます。zには既に8を代入しているので、<<zの画面出力結果は「8」になります。<< “\n”は前回も説明したとおり、改行です。次の行の出力結果と混同しないように、画面出力する際は改行を付けておくことをおすすめします。

std::cout << x – y << “\n”;
std::cout << x * y << “\n”;
std::cout << x / y << “\n”;
std::cout << x % y << “\n”;
上記4行は全て演算結果を画面出力しています。今までcoutでは変数や文字列しか出力していませんでしたが、演算結果を出力することもできます。x – yはxとyの引き算、x * yはxとyの掛け算、x / yは割り算、x % yはx割るyの余りを表示します。これらは基本的な計算でよく使用するので覚えておきましょう。

浮動小数点型

double d = 3.14;

std::cout << d / x << "\n";

今までは整数型のintを使用していましたが、ここからは別の型を紹介します。まずはdouble型です。double型は浮動小数点型と呼ばれる型で、小数を扱うときに使用します。double型を使うことで、3.14のような小数点の情報を持った変数(d)を定義することができます。

std::cout << d / x << “\n”;の行では、小数点型で定義したdと整数型で定義したxの割り算を計算して、画面に出力しています。このように型の異なる計算をする場合は、情報の大きい型の結果が得られます。整数よりも小数のほうが情報が多いので、今回の割り算の結果は小数で出力されることになります。

文字型と文字列型

char c = 'a';

std::string message = "I love";
std::string message2 = " Japan";

std::cout << message + message2;

char c = ‘a’;の行では、cに文字aを代入しています。char型は文字型です。char型は”文字”を入れる変数を定義します。今回は、cという変数に対してaという文字を入れています。注意として、文字型は1文字しか入れられないことです。

一文字しかいれられない型は不便です。そのため、C++には文字列型というものがあります。それが、string型です。stringはC++では標準機能ではないので、ライブラリのインクルードが必要です。

std::string message = “I love”;
std::string message2 = ” Japan”;
この2行では、文字列型のstring型を使用して、変数messageとmessage2に文字列を与えています。string型はライブラリからのインクルードなので、std::を先頭につけるのを忘れず行いましょう。文字列は数値や変数と見分けるためにダブルクォーテーション(”)で囲みましょう。ちなみにダブルクォーテーション(”)で囲んだ文字列をリテラル文字列と呼びます。

std::cout << message + message2;の行では文字列型の変数messageとmessage2を連結して画面に出力しています。整数型の足し算は足した結果が出力されますが、文字列の足し算は連結した結果を出力します。messageは”I love”、message2は” Japan”が代入されているので、message+message2は”I love Japan”となります。

 8
 -2
 15
 0
 3
 1.04667
 I love Japan

ここまでのプログラムで、上記の出力結果が得られます。ざっくりと振り返りましょう。まずは、整数型の演算として、+-*/%の四則演算を学びました。そして、浮動小数点型と整数型の演算(今回は割り算)で強制的に浮動小数点型の結果が出力されれること、文字列型の足し算で連結した文字列が得られることを学びました。

おわりに

今回は変数と型と演算子について解説しました。型を使った変数宣言はどの言語でもほぼ共通です。整数と浮動小数点はよく使うので覚えておきましょう。変数をうまく使えるようになれば、できることが大幅に広がります。

重要なポイントは下記の通りです。

  • 変数は数学のxやyのように好きなものを入れられる
  • 変数は整数・小数・文字列などが入れられる
  • 変数は使用用途に応じた型で宣言する必要がある
  • 小数はプログラミングでは、表示方法に基づいた名前として浮動小数点と呼ぶ
  • 演算もできる
  • かける(×)は「*」、割る(÷)は「/」で表す

次回は、代入演算子とインクリメントについて解説します。下記からどうぞ。

youtube動画でも解説しています。詰まったらこちらもどうぞ。