第2講 変数の学習
第11話 様々な変数型
int型・float型・double型・string型の他に、
char型・bool型・short型・long型・long long型などの変数型があります。
扱える値の範囲と使用メモリーを表にして示してみます。
変数型 | バイト | 値の範囲 |
char | 1 | −128〜127 |
bool | 1 | falseまたはtrue |
short | 2 | -32,768〜32,767 |
long | 4 | -2,147,483,648〜2,147,483,647 |
float | 4 | 3.4E+/-38(7桁) |
double | 8 | 1.7E+/-308(15桁) |
long long | 8 | -9,223,372,036,854,75,88〜9,223,372,036,854,775,807 |
では、char型のプログラムを組んでみましょう。
#include<iostream>
using namespace std;
void main(){
char a,b;
a=9;
cout<<"a="<<a+0<<endl;
b=7;
cout<<"b="<<b+0<<endl;
cout<<"a+b="<<a+b<<endl;
cout<<"a-b="<<a-b<<endl;
cout<<"a×b="<<a*b<<endl;
}
参考ファイル
実行結果
ピンクのところが納得できないと思いますが、
void main(){
char a,b;
a=9;
cout<<"a="<<a<<endl;
b=7;
cout<<"b="<<b<<endl;
cout<<"a+b="<<a+b<<endl;
cout<<"a-b="<<a-b<<endl;
cout<<"a×b="<<a*b<<endl;
}
とすると、
と奇妙な結果になってしまいます。
実は、char型を単独で使うとき、1文字として扱われます。
char型は1文字であれば代入できるのです。
試しに、
void main(){
char a;
a='m';
cout<<"a="<<a<<endl;
cout<<"a="<<a+0<<endl;
cout<<"a="<<a+1<<endl;
a=109;
cout<<"a="<<a<<endl;
cout<<"a="<<a+0<<endl;
cout<<"a="<<a+1<<endl;
}
とすると、
となります。
文字『m』にはコード109が割り振られています。
ですから
a=109;
cout<<"a="<<a<<endl;
の表示結果が
a='m';
cout<<"a="<<a<<endl;
の表示結果と同じになります。
ですから、
a=109;
cout<<"a="<<a<<endl;
の2行目はコード109に対応する文字である『m』をa=の右側に表示したことになります。
しかし、
cout<<"a="<<a+0<<endl;
の表示結果を見ればお分かりのように、
式(例えばa+0)として使われると、
coutはコード番号109に対応する文字を表示するのではなく、
数値109をストレートに表示するのです。
で、コンソール画面は
となるわけです。
つまり、coutは
cout<<a;
のときは、aに納められた整数値に対応している文字を表示し、
cout<<a+0;
のときは、a+0の整数値をそのまま表示するようになっているのです。
void main(){
char a,b;
a=9;
cout<<"a="<<a<<endl;
b=7;
cout<<"b="<<b<<endl;
cout<<"a+b="<<a+b<<endl;
cout<<"a-b="<<a-b<<endl;
cout<<"a×b="<<a*b<<endl;
}
のとき、
となってしまったのは、
数値9と7に対応する文字が存在しないということなのだと思います。
ちなみに1から100までのコード番号に対応する文字は
となっています。
参考のためにこれを打ち出したプログラムコードも示しておきます。
ただし、内容はfor文とIf文まで学習しないと理解はできません。
#include<iostream>
using namespace std;
void main(){
for(char i=1;i<101;i++){
cout<<i+0<<":"<<i<<" ";
if(i>0 && i%10==0)cout<<endl;
}
}
第2講はこれで終了して、
第3講のfor文の学習に進むことにしましょう。
第10話へ 第3講第1話へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ