今日のプログラムは、やっぱりコンピュータって数学が基盤となっているんだなと思うプログラムです。
英文字を小文字→大文字に変換します。
早速、
oomoji = komoji - 32;
という引き算している感じですね。
ここで、文字コードという新しい知識が必要となります。
'A' = 65 'a' = 97
:
'Z' = 90 'z' = 122
というようにA~Z, a~zには数字が振り分けられています。
ここで 'a' と 'A'について考えてみると、
'a' = 97 で 'A'= 65
なので差をとると、32となります。
この差は'b' と 'B' 、 'c' と 'C' でも同様です。
なので、(小文字の文字コード) - 32 = (大文字の文字コード)
というような計算式になります。
しかしこのままでは、数値が表示されることになってしまいますので、
最初にデータ型を char と定義しておきます。
これを int に定義すると数字が表示されるのでご注意ください。
英文字を小文字→大文字に変換します。
#include<stdio.h>
main()
{
char komoji, oomoji;
printf("英小文字==> ");
scanf("%c", &komoji);
oomoji = komoji - 32;
printf("英大文字==> %c¥n", oomoji);
return(0);
}
main()
{
char komoji, oomoji;
printf("英小文字==> ");
scanf("%c", &komoji);
oomoji = komoji - 32;
printf("英大文字==> %c¥n", oomoji);
return(0);
}
早速、
oomoji = komoji - 32;
という引き算している感じですね。
ここで、文字コードという新しい知識が必要となります。
'A' = 65 'a' = 97
:
'Z' = 90 'z' = 122
というようにA~Z, a~zには数字が振り分けられています。
ここで 'a' と 'A'について考えてみると、
'a' = 97 で 'A'= 65
なので差をとると、32となります。
この差は'b' と 'B' 、 'c' と 'C' でも同様です。
なので、(小文字の文字コード) - 32 = (大文字の文字コード)
というような計算式になります。
しかしこのままでは、数値が表示されることになってしまいますので、
最初にデータ型を char と定義しておきます。
これを int に定義すると数字が表示されるのでご注意ください。
