学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

C++ | 11 | 文字変数

↓↓クリックして頂けると励みになります。



10 | 変数】 << 【ホーム】 >> 【12 | 関数


文字変数を使用したプログラム
文字変数を使用したプログラム




C++における文字変数(character variables)は、文字を格納するための変数です。
通常、文字変数はchar型を使用して宣言されます。
char型は、1バイトのメモリを使用してASCII文字セット内の1つの文字を表現します。
char型の変数は、単一の文字を格納するのに使用されます。
文字変数は、C++プログラムでテキストデータを表現し、処理するために使用されます。




Visual Studio Codeで以下のcppファイルを作成して下さい。


新規作成 【MojiTest1.cpp】

#include <iostream>

int main() {

	char a;
	std::cout << "y か n を入力してください-->" << std::endl;
	std::cin >> a;

	if ( a == 'y' ) {
		std::cout << "Yes" << std::endl;
	}

	else if ( a == 'n' ) {
		std::cout << "No" << std::endl;
	}
	else {
		std::cout << "ERROR" << std::endl;
	}
}



文字変数の入出力キーボードから文字を1文字読み取り、'y'だったならばYESを、'n'だったならばNOを、それ以外だったならばERRORを表示するプログラムです。


C言語では文字をシングルクォーテーション()で囲んで表す決まりになっています。


  • 文字aは「'a'
  • 文字bは「'b'
  • 文字1は「'1'


    文字はあくまでも1個の文字を意味しています。
    「hello」などのようないくつかの文字がある場合は文字列といいます。
    文字と文字列は異なるもので扱い方も違います。


    文字を格納する変数を文字変数といいます。
    整数型や実数型に対する言葉としては文字型といい、文字型変数とも言います。
    この場合の文字とは英数記号に限ります。
    日本語の文字は2つの数を組み合わせて表現しているので文字変数には大きすぎて格納できません。

    文字変数の宣言    char 変数名, 変数名・・・・
    

  • 例1    char c;
  • 例2    char c1; char c2;
  • 例3    char c1, c2;
  • 例4    char c = 'a';


    例2と例3は、c1, c2という2つの文字変数を宣言している点で同じです。
    例4は文字変数cを宣言した上で、文字 'a'を代入しています。
    このように宣言と代入(初期化)を一度にできるので非常に便利です。
    他の整数型や実数型などでも使えます。


    コンピュータは大文字と小文字も区別しますので、このプログラムで入力を「Y」としても「y」とは区別され、出力結果は「ERROR」になります。


    サンプルプログラムを実行してみましょう。
    キーボードから文字を1文字読み取り、'y'だったならばYESを、'n'だったならばNOを、それ以外だったならばERRORを表示します。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ tempCodeRunnerFile.cpp -o tempCodeRunnerFile 
    && "/Users/**/Desktop/Programming/CPP/"tempCodeRunnerFile
    
    y か n を入力してください-->
    y
    Yes
    
    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ tempCodeRunnerFile.cpp -o tempCodeRunnerFile && "/Users/**/Desktop/Programming/CPP/"tempCodeRunnerFile
    
    y か n を入力してください-->
    YES
    ERROR
    



    Visual Studio Codeで以下のcppファイルを作成して下さい。


    新規作成 【MojiTest2.cpp】

    #include <iostream>
    
    int main() {
    
    	int a;
    	char c;
    
    	std::cout << "何か文字をひとつ入力してください-->" << std::endl;
    
    	std::cin >> c;
    
    	a = c;
    
    	std::cout << "文字に割り当てられた値は" << a << "です。" << std::endl;
    
    }
    



    文字に割り当てられた値を調べるためにキーボードから文字を1文字読み取り、その文字の値を調べるプログラムです。


    標準入力「std::cin」を使って文字をキーボードから読み取っています。
    文字変数にはコンピュータで整数が割り当てられています。


    文字の大きさは一般に次のようになっています。

  • 'a' < 'b' < 'c' < ・・・・ < 'z'
  • 'A' < 'B' < 'C' < ・・・・< 'Z'
  • '0' < '1' < '2' < ・・・・< '9'


    このプログラムでは与えられたchar型文字変数cを整数型の変数aに代入し直し、文字を整数に変えています。 


    サンプルプログラムを実行してみましょう。
    キーボードから文字を一文字入力するとその文字に割り当てられた整数が画面に表示されます。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ MojiTest2.cpp -o MojiTest2 && "/Users/**
    /Desktop/Programming/CPP/"MojiTest2
    
    何か文字をひとつ入力してください-->
    F
    文字に割り当てられた値は70です。
    



    Visual Studio Codeで以下のcppファイルを作成して下さい。


    新規作成 【MojiTest3.cpp】

    #include <iostream>
    
    int main() {
    
    	int i;
    	char c;
    
    	i = 'a' + 'A';
    
    	std::cout << "例1: a' + 'A' = " << i << std::endl;
    
    	c = 1 + 'a';
    	i = c;
    
    	std::cout << "例2: 1 + 'a' を整数で出力すると" << i << std::endl;
    	std::cout << "例3: 1 + 'a' を文字で出力すると" << c << std::endl;
    }
    



    文字変数の足し算をするプログラムです。
    サンプルプログラムを実行して確認してみましょう。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ MojiTest3.cpp -o MojiTest3 && "/Users/**
    /Desktop/Programming/CPP/"MojiTest3
    
    例1: a' + 'A' = 162
    例2: 1 + 'a' を整数で出力すると98
    例3: 1 + 'a' を文字で出力するとb
    




    10 | 変数】 << 【ホーム】 >> 【12 | 関数





    ↓↓クリックして頂けると励みになります。