🌻天国にいけるC++言語入門🌻 ver0.34

作者 @solarplexuss

1話目から読む

新規登録でもっと便利に!

ユーザー投稿作品やKADOKAWAの人気作品をもっと便利に読めます。

閲覧履歴

どこまで読んだか忘れても大丈夫。自動的に記憶してくれます。

更新情報

「フォロー」した作家・作品の更新情報がメールで届きます。

マイページ

好きな作品を管理できる、あなた専用の本棚ができます。

必要なもの

ユーザー登録(無料)に必要なのは、メールアドレスだけ! 登録は簡単です。

目次

連載中 全128話

更新

  1. ハロォ~ C++言語入門の世界へ
  2. 統合開発環境Visual StudioではC++言語をつかってプログラムを作製することができます
  3. 統合開発環境Visual Studioを自分のパソコンに導入してみます
  4. ぶーにゃんのブロマガを参考にしながら統合開発環境Visual Studioを導入してみます。とっても簡単です すぐにC++言語を使ってプログラムを組み実行できるようになります
  5. Hello,World!を表示するプログラムをエディタ画面にうちこんでみましょう。
  6. コマンドプロンプト画面にプログラムの実行結果は表示されます
  7. プログラムは半角英数字で打ち込んでください
  8. コンパイラってなんでしょうか コンパイルってなんでしょうか?
  9. プログラムとは命令文の集まりなのです。
  10. まずはコマンドプロンプト画面に文字列を表示するところから始めてみましょう
  11. cout <<をつかってコマンドプロンプト画面に文字列データを出力表示することができます
  12. cout <<をつかって いろいろな文字列データをコマンドプロンプト画面に表示してみよう。
  13. ¥nはエスケープシーケンスの1つで文字列を改行してコマンドプロンプト画面に表示させることができます。
  14. 文字列データを改行させてコマンドプロンプト画面に表示させてみましょう
  15. //や/* */をもちいてプログラムに影響を与えないようコメントを記述してみましょみよう
  16. cout<<のいろいろな使い方をマスターしてみよう
  17. cout<<をつかって"文字列データ"a"でなく文字データ'a'をコマンドプロンプト画面に表示してみましょうよう
  18. cout << 'a'; とcout << "a";はコンパイル結果が同じにみえます。 何がちがうのかな?
  19. エスケープシーケンス¥nを使ってコマンドプロンプト画面に改行してデータを表示してみましょう。cout << "a"<< "¥n" ; は cout << "a¥n" ; とかきかえることができます
  20. cout << 'a' << "¥n" ; を cout << 'a¥n' ; とかきかえることはできません。
  21. 'a'のように シングルクオーテーションで囲まれた半角英数字は文字列データでなく 文字データとなります。
  22. 'あ'のようにシングルクォーテーションで囲まれた全角文字は 文字データとはなりません
  23. "a"や"123"のようにダブルクオーテーションで囲まれた半角英数字は 文字列データとなります。
  24. cout << 'a¥n';と記述できないのはシングルクオーテーション'で囲むことができるのは文字データだけだからなのですa¥nは文字列データとなっています
  25. aやabcのような文字でなく1や123のようにシングルクォーテーションにもダブルクオーテーションにも囲まれていない数字のデータは数値データとなります
  26. いよいよメモリにデータを格納する型であるchar型、int型、float型、double型が登場してきます
  27. 文字データ'1' 文字列データ"1" 数値データ1 の違いは何なのでしょうか?
  28. いまやchar型、int型、double型はスーパーの寿司屋でパートづとめをしています お寿司をつくっているらしいです 時代も変わりました みかけたらみんなもよろしくしてあげてね
  29. 文字データ'1' 文字列データ"1" 数値データ1の違いはコンピュータのメモリへの格納のされ方の違いなのです。メモリとはコンピュータに与えられたデータを1時的に格納しておく記憶装置のことです。
  30. コンピュータのメモリとは コンピュータに与えられた データを1時的に格納しておく記憶装置のことなんです
  31. ダミー  メモリというのは コンピュータに与えられた データを1時的に格納しておく記憶装置のことです
  32. メモリというのは コンピュータに与えられた データを1時的に格納しておく記憶装置のことです  その2
  33. ソースコードはコンパイルされると機械語に変換されます。その機械語の命令をコンピュータは実行します
  34. コンパイルされたソースコードは0と1のみであらわされる機械語に変換されます
  35. 数値データ 1 文字データ'1' 文字列データ "1"の違いはメモリへの格納のされ方なのです
  36. メモリとは 0と1のみであらわされたデータを1時的に記憶する装置なんです。それはコンピュータが0と1のみで表されるデータを取り扱っているからです
  37. ビットとはメモリに格納できるデータの単位のことです
  38. 1バイトは8ビットをあらわしており0と1であらわされる256通りのデータのうちの1つを格納することができます
  39. コンピュータのメモリには0と1のみであらわされるデータしか格納できません どうやって数値8や半角英数字aのデータ情報をメモリに格納しているのでしょうか?
  40. 2進数とは10進数値を 0と1のみであらわしたものなんです
  41. コンピュータのメモリには8bit単位でデータが格納されます
  42. メモリの8ビットにデータを格納する方式をchar型といいます
  43. 8ビット(unsigned char)に格納できる最大の数値は255となっています それ以上大きい数値を格納することはできません
  44. 2進数同士の計算はパソコンに搭載されている電卓で簡単に計算することができます 電卓の使い方を練習してみましょう。
  45. 0から255までの10進数の正の数を0と1のみの2進数であらわしてそのまま8ビットに格納する方法は unsigned char型の形式とよばれます
  46. -128から127までの数値を2進数であらわして8ビットに格納する方法はchar型の形式と呼ばれます。
  47. char型の形式でメモリに格納されている11111111は10進数-1をあらわし unsigned char型の形式でメモリに格納されている11111111は10進数255を表しています
  48. char型の形式では-128から127の範囲までの数値しかメモリに格納できません。もちろん10000は格納できません
  49. 数値データ10000をメモリに格納する旅について
  50. 10進数数値データ10000は32ビットのメモリに格納されます。
  51. メモリには 8ビットを基本単位としてデータが格納されます
  52. 数値データを32ビットにわたって格納する形式を int型の形式といいます
  53. 0と1で表される 文字データや整数値データなどを格納する形式を char型
  54. char型にしか0と1のみで表された文字データを格納できませ~ん
  55. ほんとに文字データ 'a' や'1' などを 8ビットのデータ容量を持つchar型に格納できるのでしょうか?
  56. エクトプラズマってなんですか?
  57. char型に格納される8ビットの0と1のパターンのすべてはどのパターンも、もちろんメモリに格納されます
  58. char型に格納される8ビットの0と1のパターンはコマンドプロンプト画面に10進数数値を表示するのに使われる場合と対応する文字の画像データを表示する場合に使われることがあります
  59. cout << 'a'; が実行されると文字データ'a'に対応する01100001(10進数では97)がメモリに格納され、その01100001を利用して文字aがコマンドプロンプト画面に表示されます
  60. 文字aの画像データに番号01100001(10進数では97)がつけられているように文字1の画像データにも番号00110001(10進数では49)が割り振られています
  61. cout << 1<<"¥n";の1は数値データを表しており文字データではありません。 文字データと数値データの違いとはなんでしょうか?
  62. 32個のメモリのお部屋 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ (4バイト)に数値データを格納する形式をint型の形式といいます
  63. cout <<1<<"¥n"; が実行されると10進数数値データ1はchar型の形式でなくint型の形式でメモリに格納されます
  64. 32個のメモリのお部屋 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ に0から4294967295までの数値データを1つ格納する形式を unsigned int型の形式と呼びます
  65. 32個のメモリのお部屋 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ に-2147483648から2147483647までのの数値データを1つ格納する形式をint型の形式と呼びます
  66. メモリに格納されたとき 11111111(10進数数値-1をあらわしています)のように 1番左端の数値が 1 に なっているものは マイナスの10進数数値データを表しています
  67. 2進数 11111111(10進数-1)と2進数00000001(10進数1)はお互いが2の補数となっています
  68. cout << 1<<"¥n"; が実行されると この1は int型の形式で32個のメモリのお部屋 に 00000000000000000000000000000001と格納されます
  69. コンピュータの世界では数学の時と違い、小数点以下の項を含まない数を整数、小数点以下の項を含む数を実数とよびます。
  70. 64ビットのメモリのお部屋に1.7×10の-308乗から1.7×10の308乗、 -1.7×10の308乗から-1.7×10の-308乗までの実数値データを1つ格納する形式をdouble型とよびます
  71. "1" "12345" "abc" "あ" "りんご" などのように ダブルクォーテーションで囲まれた数値、文字などは 文字列データとなります
  72. 文字aの画像データにつけられた番号01100001がchar型の形式でメモリに格納されます。どうやってコンピュータはその番号01100001をメモリの中から探し出し利用しているのでしょうか?
  73. 1キロバイトは1000バイトもしくは1024バイトを表しています
  74. コンピュータのメモリにはデータを管理するために1バイトごとにアドレス番号がつけられています
  75. 変数の導入をはじめてみます
  76. 変数の導入を始めてみます
  77. int型の変数には-2147483648から2147483647までの数値データの1つを格納することができます
  78. 変数宣言int a; によって設定された変数aは-2147483648から2147483647までの数値データの1つを格納できます
  79. int a=5; と記述することを変数aの初期化といいます int a; a=5; とわけて変数aに数値5を代入したものは初期化とはいいません。
  80. 変数宣言int a,b;のように記述することにより1つの変数宣言で同時に複数の変数を設定することができます
  81. 変数宣言によって作製される変数には自由に名前を付けることができます
  82. int型の変数aは -2147483648から2147483647までの数値データの1つを格納できますが、その範囲外の数値を代入してプログラムを実行すると正しい結果が表示されません
  83. 変数宣言 int a; を行ったら 何も数値を変数aに代入しなくても 最初から変数aに数値が格納されています
  84. 変数に格納された数値はあとから別の数値を代入し変更することができます。
  85. int a; a=1; と記述されていたら 変数aを作製し そこに数値1を代入せよ と命令を与えることになるんです
  86. a=5; は変数aに5を代入せよという命令をコンピュータにあたえる命令文なのです
  87. 変数aに変数bを代入して 変数bに格納されている数値を変数aに代入することができます
  88. a=a+1;と記述して変数aに変数a+1を代入して変数aに格納されている数値を1ほど大きくすることができます。
  89. a=a+10;と記述して変数aに変数a+10を代入して変数aに格納されている数値を10ほど大きくすることができます。
  90. アスキーコード、シフトJISコード、ユニコードとは文字の画像データに割り振られた番号 もしくはコンピュータに命令をあたえるときに使用される番号のことです
  91. char b;のようにchar型の変数宣言によって設定された変数bには半角英数字1文字分の文字データを格納することができます
  92. 識別子とは他のデータと区別するためにつけられた名前のことです
  93. char b;のようにchar型の変数宣言によって設定された変数bには半角英数字1文字分の文字データを格納することができます ですので2文字以上の半角英数字を格納することはできません
  94. 変数宣言char b; によって設定された変数bは-128から127までの数値データの1つを格納できますが cout <<b;により出力表示されるデータは数値データでなく文字データとなります
  95. 文字の画像データなどにつけられた0から127までの番号のことをアスキーコードといいます
  96. 0から127までのアスキーコードに対応する機能や文字の一覧表をご紹介いたします
  97. 0から31そして127のアスキーコードは、モニターの表示の制御などに使われ、32は空白スペース、33から126は文字の画像データを表示するために使われます
  98. なぜ33から126までのアスキーコードは文字を表示するのに使用されているのにアスキーコード127は文字を1文字削除するときに使用されているのでしょうか?
  99. 文字コードとは文字の画像データに割り振られた番号のことであり制御コードとはコンピュータに命令を与えるときに使用される番号となっています
  100. シフトJISコードとは何のことでしょうか? アスキーコード シフトJISコードの違いはなんでしょうか?
  101. ユニコード とは何のことでしょうか なぜキーボードの\のボタンを押したとき\が表示される場合もあれば¥が表示される場合があるのでしょうか?
  102. float型の変数は-3.4×10の38乗から-3.4×10の-38乗,0,3.4×10の-38乗から3.4×10の38乗の範囲の数値を格納することができます
  103. float型の変数は-3.4×10の38乗から-3.4×10の-38乗,0,3.4×10の-38乗から3.4×10の38乗の範囲の数値を格納することができます
  104. C++言語ではC言語の時と違い小数点以下6桁以上の項を含む数値は 小数点以下6桁の位が四捨五入されて小数点以下5桁までがコマンドプロンプト画面に表示されます
  105. C++言語ではC言語の時と違いfloat型の変数に1.00000を代入してもコマンドプロンプト画面に表示される数値は1となります。
  106. float型の変数に整数値1を代入する場合とint型の変数に数値1を代入する場合ではメモリへの格納のされ方が違います・
  107. 数値の型変換 int型の変数aに実数値1.23456を格納しているfloat型の変数bを代入すると整数値の部分のみが変数aに格納されます
  108. 数値の型変換 int型の変数aに実数値1.23456を代入すると整数値の部分のみが変数aに格納されます
  109. double型の変数には -1.7×10の308乗から-1.7×10の-308乗,0,1.7×10の-308乗から1.7×10の308乗の範囲の数値を格納することができます
  110. double型の変数には-1.7×10の308乗から-1.7×10の-308乗,0,1.7×10の-308乗から1.7×10の308乗までの数値を格納できますが表示されるのは小数点以下5桁までなのです
  111. プログラムを構成して数値計算を実行してみましょう。
  112. プログラムを記述してコンピュータに数値計算を実行させてみましょう
  113. 整数値同士の割り算では割り切れなくて計算結果に小数点以下の部分が出る場合、小数点以下の部分は切り捨てられ整数部分のみが残ります
  114. 6/4の計算結果は1と表示されるのはなぜでしょうか int型に格納された数値同士の計算結果もint型に格納されます。
  115. 6.00000/4.00000の計算結果は1.5と表示されるのはなぜでしょうか double型に格納された数値同士の計算結果もdouble型に格納されます。
  116. 6.00000/3.00000の計算結果は整数値の2が表示されます この数値2はint型ではなくdouble型の形式でメモリに格納されています。
  117. 6.00000/4、6/4.00000の計算結果は1.5と表示されます このように int型、double型に格納された数値同士の計算結果はdouble型に格納されます。
  118. 変数に格納された数値同士の計算を行ってみます int型の変数同士の計算が行われると計算結果の数値もint型に格納されます
  119. 変数に格納された数値同士の計算を行ってみます int型とdouble型の変数同士の計算が行われると計算結果の数値はdouble型に格納されます
  120. int型の変数、 float型の変数、 double型の変数の含まれた数式の数値計算が行われる場合、数値計算結果は1番格納容量の大きいdouble型に格納されます
  121. int a=1; int b=2; int c=3; a=b=c;と記述された場合 変数a,変数b,変数cにはどのような数値が格納されているでしょうか?
  122. a+bにおいて aやbに作用を与える +と-を演算子(オペレータ)作用を受ける側の aとbを被演算子(オペランド)とよびます。
  123. =演算子は右結合型の演算子とよばれます -演算子は左結合型の演算子とよばれます
  124. 異なる演算子が数式内にある場合 どの演算子がさきに作用するかの優先順序が定められています
  125. =は代入演算子とよばれています そして+=は加算代入演算子と呼ばれ”今”変数が格納している値に数値を加える働きをします。a+=1;はa=a+1;を表しています
  126. -=は減算代入演算子と呼ばれ”今”変数が格納している値から数値を引いたものを変数に代入する働きがあります。a-=1;はa=a-1;を表しています
  127. *=は乗算代入演算子と呼ばれ”今”変数が格納している値に数値をかけあわせたものをその変数に代入する働きがあります。a*=5;はa=a*5;を表しています
  128. /=は除算代入演算子と呼ばれ”今”変数が格納している数値をわったものをその変数に代入する働きがあります。a/=5;はa=a/5;を表しています
  129. %=は剰余代入演算子と呼ばれ”今”変数が格納している値をある数値で割ったときの余りをその変数に代入する働きがあります。a%=5;はa=a%5;を表しています
  130. 加算代入演算子+=を用いて変数sumに数値が加算されるプログラムを考察してみましょう。
  131. +=,-=,*=,/=,%=の5つの代入演算子をもちいた練習問題をといてみましょう。まずsum+=10;をもちいた総和を求める練習問題を解いてみましょう。
  132. sum%=10; sum*=10; sum-=10; sum/=10; sum+=10;がすべてもちいられた練習問題を解いてみましょう 変数sumにはどのような数値が格納されるでしょうか?
  133. 🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟
  134. シフト演算子🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟
  135. シフト演算子はお魚ではありません
  136. シフト演算子には右シフト演算子と左シフト演算子の2つがあります
  137. ダミー ユーザーから入力された数値を 用意した変数に格納する方法を学んでみよ~う。
  138. ユーザーから入力された数値を 用意した変数に格納する方法を学んでみよ~う。