変数に代入された文字を出力したい。
「char」とか「%c」って何?
この記事を読めば、これらの悩みを解決できます。
「数字の出力」とは一味違う「文字の出力」とは?!
データ型が分からないという人はこちらの記事を参考にしてください。
文字を代入する変数の変数宣言 (char)
文字を代入する変数のデータ型は、「char」です。
つまり、この変数の変数宣言は、
char 変数名;
です。
char moji;
「char」も「int」や「float」と同じくらい使うので、ちゃんと覚えましょう。
変数に文字を代入
実は、今までの記事では「数字を保存する」と表現しましたが、「変数に保存する」動作のことを「代入」と言います。文字も変数に代入することができます。(下に示したものは2つとも代入です。)
x=3;
y=4;
文字の代入方法は数字の代入とは少し違ってきます。とは言っても大して難しくはありません。文字を「’」(シングルクオーテーション)2つではさむだけで、その他は数字の代入と同じです。
moji='A';
こんな感じで「代入」できます。変数1つにつき、1文字代入可能です。
文字の出力 (%c)
さあ、ここまで来ればあとは出力するだけです。
文字の出力には「%c」という変換書式を使います。(変換書式には、すべて最初に「%」という記号が付きます。)
出力するときは、ダブルクオーテーションの後ろに「,変数」を書き加えます。
printf("%c",moji);
こうなりますよね。ここまでをまとめてみます。
#include<stdio.h>
int main()
{
char moji;
moji = 'A';
printf("%c", moji);
}
コードをまとめて書くとこうなりますよね。出力すると「A」と出れば問題ないです。
連続して文字を出力
連続した文字(文字列)を出力するには、このようにプログラムを書きます。文字数分だけ、代入する変数が増えます。また、代入した後「%c」を文字数分だけ書き、その後ろに変数を出力する順番に書きます。先ほどとほとんど変わらないように書けます。
#include<stdio.h>
int main()
{
char a,b,c;
a = 'M';
b = 'u';
c = 'u';
printf("%c%c%c",a,b,c);
}
このプログラムを実行していきます。
「Muu」と出力されました。
このように、複数の文字を出力するには何度も「%c」使わないといけません。これでは少し大変ですよね。
例えば、100文字書くとなると100回変数宣言や代入をしないといけません。
配列というものを使うと、簡単にできます。少し早いかもしれませんが、配列を使った文字列の出力を勉強したい方は、下の記事を参考にして下さい。
まとめ
文字を変数に代入して、出力する方法を解説しました。文字でなく数字を代入する場合と比べると、理解が深くなるかもしれません。過去の記事を参考にしてみてください。
次は、「ASCIIコード」を勉強しましょう。
コメント