%=は剰余代入演算子と呼ばれ”今”変数が格納している値をある数値で割ったときの余りをその変数に代入する働きがあります。a%=5;はa=a%5;を表しています

ソーラー「わお 除算代入演算子の次は


剰余代入演算子だね


新キャラかな


どんどん仲間が出てくるね。


ちょっと観察してみよう




         %=




        



         






         %=






 



てんC「剰余代入演算子%=さんですね」


ソーラー「%



ある数をある数で割ったときの

あまりを求めるときに用いられたよね。


たとえば


5を2で割ったときの余り1を求めるときは


5%2


を用いて


次のようにプログラムを記述すればよかったね。


#include <iostream>


using namespace std;


int main() {


cout << 5%2 << "\n";


return 0;


}


ビルド実行結果


1


てんC「それでは


剰余代入演算子を用いた


次のプログラムをご覧ください」


#include <iostream>


using namespace std;


int main() {


int a =10;


a%= 5;

cout << a << "\n";


return 0;


}


ビルド実行結果


0


てんC「まず


int a =10;


により


変数aに格納される値は10になります。



このプログラムに出てくる命令文


a%=5;



a=a%5;


と等しい働きをします


つまり


a%=5;


と記述されたなら


変数aが


      今


格納している数値10を5で割った時の余りを


変数aに格納しなさい


という命令がコンピュータに与えられます。


ですので


このプログラムが実行されると


変数aの格納している値は


10から


10を5で割った0になります」






           %=「・・・」






てんC「さて さて ソーラーさん😊


恒例の


ここで問題です。


           %=「じゃん」



今のプログラムで


a%=5



1回だけでなく


a%=5;

a%=5;


のように


2回記述されるとどのような値が


コマンドプロンプト画面に表示されるでしょうか?」




ソーラー「


a%=5;

a%=5;

のように2回記述されると


ビルド実行結果はどうなるかということだよね。


どうなるかな?


次のプログラムで実際に確かめてみようかな。」



#include <iostream>


using namespace std;


int main() {


int a=10;


a%=5;

a%=5;


cout <<a<<"\n";


return 0;


}



日射しが 燦燦 燦燦 燦燦 と降り注ぐ



🌞 🌞 🌞



パタパタ %=    パタパタ



てんC「ソーラーさん


%=


がとんでます」


ソーラー「こ、これは 


約2億9,000万年前(古生代石炭紀末期)の森に生息していた原始的なトンボ


メガネウラ (Meganeura)だ!!!(ウィキペデイアより)」


%= 「ぱたぱた」


てんC「ソーラーさん


メガネウラが語りかけてきます。」


%=「つつつ~」


ソーラー「翻訳をお願い てんC」


%= 「ぱたぱた」


てんC「はい 私の名は剰余演算子です


といっておられます」


ソーラー「はい トマトスパゲッティさんですね。」


%= 「ちが~うぅ」


ソーラー「%=はコンピュータプログラム特有の表現だね


さて


このプログラムのコンパイル結果は


どうなるかなんだけど


ずばり 


ビルド実行結果は


0だね」



てんC「ぴんぽ~ん(^^♪正解です。


ビルド実行結果は


0


になります。」


%= 「ぴっぴんぽ~んて・・・」


ソーラー「みなさん どうだったかな」


てんC「int a=5;


により


aに格納されている値は


まず


5になります。


そして


1回目の


a%=5;


が行われるのですが


a%=5;



        いま🌞🌞



     変数aが格納している値を5で割った時の余り0を


変数aに格納しなさい


という命令文なので


変数aの格納している値は5から0


になります。


こうして


変数aの格納している値は0になりました。


そして


2回目の


a%=5;


が実行されるわけですが


a%=5;



        いま🌞🌞



     変数aが格納している値を5で割ったものを


変数aに格納しなさい


という命令文なので


変数aの今,格納している値0を5で割った時の余り


0


変数aに格納されます。


こうして


cout <<a<<"\n";


により出力表示される


ビルド実行結果は


0


なりますね


剰余演算子さん」


%= 「えへん きづいてくれた?」


ソーラー「はは


つまり古生代から生き延びてきたんだね」


%= 「ちが~うぅ」


ソーラー「


剰余代入演算子は



          いま🌞🌞



変数aが格納している値を割ったときの余りを



変数aに格納したいときに使われる演算子なんだね。」



てんC「その通りです


ソーラーさん」


ソーラー「剰余演算子さんはプログラミングの世界でよくみかけるんだ


みなさん よろしくね」


  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る