C言語 入門 変数に代入された文字を出力する(char)

C言語

変数に代入された文字を出力したい。

「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コード」を勉強しましょう。

Exit mobile version