C++ Char データ型の例

⚡ スマートサマリー

char データ型は C++ 文字や数字などの単一の文字を、そのASCII値を使用して格納します。ここでは、文字の宣言、ASCII値の出力、文字の入力、および文字を文字列に変換する方法を学びます。

  • 🔤 それは何ですか: char型は、ASCII値を使用して1文字を格納します。
  • 🔢 ASCII: 各文字は数値のASCIIコードに対応付けられており、例えば「A」は65です。
  • 🔧 宣言: char 型をシングルクォーテーションで囲んで宣言します。例: char grade = 'A';。
  • 🔁 変換: 文字型を整数型にキャストしてASCII値を取得し、再び文字型に戻します。
  • 🤖 AIによる支援: GitHub CopilotのようなAIツールは、文字コードやASCIIコードを瞬時に処理します。

C++ 文字データ型

シャアとは?

チャーは C++ 文字を保存するために設計されたデータ型。 char は英数字の略語です。これは整数データ型であり、値は整数として保存されます。 char は 1 バイトのメモリ サイズを必要とします。また、XNUMX つの文字を保存します。

ASCIIとは何ですか?

char 値は ASCII 文字として解釈されます。これは、ブール値が真または偽として解釈されるのと同様です。ASCII は American Standard の頭文字をとったものです。 Code 情報交換のための規格。英語の文字を数字として表現する特定の方法を定義する。

数字の範囲は 0 から 127 です。たとえば、文字「a」は ASCII コード 97 に相当します。

Char宣言

を宣言するには char変数 C++では、char キーワードを使用します。 この後に変数の名前を続ける必要があります。 変数は宣言時に初期化できます。 変数の値は一重引用符で囲む必要があります。

構文

char宣言の構文は次のとおりです。 C++:

char variable-name;

変数名は変数に割り当てる名前です。

宣言時に値を割り当てる場合は、次の構文を使用できます。

char variable-name = 'value';	
  • variable-name は char 変数の名前です。
  • value は、char 変数に割り当てられる値です。

例1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

出力:

Char宣言

コードのスクリーンショットは次のとおりです。

Char宣言

Code 説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. Grade という名前の文字変数を宣言します。 変数には値 B も割り当てられています。変数の値が一重引用符で囲まれていることに注意してください。
  5. 変数 Grade の値を他のテキストと一緒にコンソールに表示します。
  6. プログラムは正常に完了すると値を返す必要があります。
  7. main() 関数の本体の終わり。

ASCII値の印刷

上で述べたように、各文字は ASCII 文字として解釈されます。 任意の文字の ASCII 値を取得することができます。 文字を int() 関数に渡すだけです。 このプロセスは型キャストと呼ばれます。 これを実証してみましょう:

例2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

出力:

ASCII値の印刷

コードのスクリーンショットは次のとおりです。

ASCII値の印刷

Code 説明:

  1. iostream ヘッダー ファイルをコードに組み込み、その機能を使用します。
  2. std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. ch という名前の char 変数を宣言します。
  5. コンソールにテキストを出力します。 このテキストは、変数 ch の値を入力するようにユーザーに求めます。
  6. キーボードからユーザー入力を読み取り、変数 ch に保存します。
  7. コンソールにテキストを出力します。 テキストには、変数 ch に入力した文字、この文字の ASCII 値、およびその他のテキストが含まれます。
  8. プログラムは正常に完了すると値を返す必要があります。
  9. main() 関数の本体の終わり。

文字値の印刷

ASCII値が与えられた場合、 C++ コンパイラは対応する文字を返すことができます。char 変数を宣言し、それに整数値を割り当てます。対応する文字値に変換されます。

例3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

出力:

文字値の印刷

コードのスクリーンショットは次のとおりです。

文字値の印刷

Code 説明:

  1. iostream ヘッダー ファイルをコードに組み込みます。 次に、エラーが発生することなくその関数を使用します。
  2. std 名前空間をコードに含めます。 呼び出さずにそのクラスを使用します。
  3. main() 関数を呼び出します。 プログラム ロジックはこの関数の本体に含める必要があります。
  4. 65 つの char 変数 x、y、z を宣言します。 これら 66 つは、67、XNUMX、および XNUMX の整数値に割り当てられています。これらは、文字の ASCII 値として扱われます。
  5. 変数 x の値をコンソールに出力します。 x は char として宣言されているため、ASCII 値 65 の char、つまり A が返されます。
  6. 変数 y の値をコンソールに出力します。 y は char として宣言されているため、ASCII 値 66 の char、つまり B が返されます。
  7. 変数 z の値をコンソールに出力します。 z は char として宣言されているため、ASCII 値 67 の char、つまり C が返されます。
  8. プログラムは正常に完了すると値を返す必要があります。
  9. main() 関数の本体の終わり。

文字の入力

std::cin 関数を使用すると、ユーザーがキーボードから入力した文字を読み取ることができます。std::cin では複数の文字を入力できますが、文字変数には 1 文字しか格納できません。つまり、最初に入力された文字のみが読み込まれます。tracted は文字変数に格納されます。残りは std::cin で使用されるバッファに残ります。tract すると、std::cin への後続の呼び出しが行われます。

例4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

出力:

文字の入力

コードのスクリーンショットは次のとおりです。

文字の入力

Code 説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. コンソールにテキストを出力します。
  5. ch という名前の文字変数を宣言します。
  6. キーボードからのユーザー入力を読み取ります。 入力は変数 ch に保存されます。 ユーザーは abc のような文字シーケンスを入力するため、最初の文字 a だけが変数 ch に格納されます。
  7. 入力された最初の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
  8. ユーザーが入力した次の文字を読み取ります。 ユーザーは新しい文字を入力する必要はありません。 代わりに、入力された XNUMX 番目の文字、つまり b が読み取られます。
  9. 入力された XNUMX 番目の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
  10. プログラムは正常に完了すると値を返す必要があります。
  11. main() 関数の本体の終わり。

文字を文字列に変換する

文字を次のように変換する方法は数多くあります。 ストリング.

それらについて議論しましょう:

#1: String クラスで指定されたコンストラクターを使用する

これは次の構文を使用して実行できます。

string st(int n,char x);

パラメータ n は、生成される文字列のサイズを示します。

パラメータ x は、文字列に変換する文字です。

関数は文字列を返します。

例5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

Code 説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. 文字「C」を長さ 1 の文字列に変換し、その結果の文字列を変数 st に代入します。
  6. 文字列 st の値を他のテキストと一緒にコンソールに出力します。
  7. プログラムは正常に完了すると値を返す必要があります。
  8. main() 関数の本体の終わり。

#2) std::string の使用 Operaトール = と +=

= 演算子と += 演算子はすでに文字でオーバーロードされています。この 2 つを使用して、特定の文字を文字列に変換できます。

例6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

Code 説明:

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. st という名前の文字列変数を作成します。
  6. b という値で B という名前の文字を作成します。
  7. 値 A を st という名前の文字列に割り当てます。
  8. 文字を文字列に変換するには、+= 演算子を使用します。
  9. 文字列 st の値を他のテキストと一緒にコンソールに出力します。
  10. プログラムは正常に完了すると値を返す必要があります。
  11. main() 関数の本体の終わり。

#3: std::string メソッドの使用

std::string クラスには、文字を文字列に変換するのに役立つ多くのオーバーロードされた関数が付属しています。

彼らを含める:

  • プッシュバック この関数は、文字列の末尾に特定の文字を割り当てます。文字に対してオーバーロードされます。構文は次のとおりです。
    void push_back(char ch)
    

    パラメータ ch は、文字列に変更される文字です。

  • アペンド 特定の文字のコピーを文字列に複数割り当てます。この関数の構文は次のとおりです。
    string& append(size_t n,char ch)
    

    パラメータ n は、文字が追加される回数を示します。

    パラメータ ch は、文字列に追加する文字です。

  • 割り当てます この関数は、文字列の現在の内容を指定された文字の n 個のコピーに置き換えます。構文は次のとおりです。
    string& assign(size_t n,char ch);

    パラメータ n は、キャラクターの合計コピー数を示します。

    パラメータ ch は、文字列にコピーする文字です。

  • insert 挿入関数は、引数で指定された文字列の開始位置に文字の n 個のコピーを挿入します。構文は次のとおりです。
    string& insert(size_t p,size_t n,char ch);

    p パラメータは、文字が挿入される先頭からの位置を示します。

    パラメータ n は、キャラクターの合計コピー数を示します。

    パラメータ ch は、文字列に挿入される文字です。

例7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. st という名前の文字列変数を作成します。
  6. 文字 A を文字列の末尾に割り当てます。
  7. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  8. 文字列 st の値を空に設定します。
  9. 単一文字 C を st という名前の文字列に割り当てます。
  10. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  11. 文字列 st の値を空に設定します。
  12. 文字列 st の内容を単一の文字 D に置き換えます。
  13. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  14. 単一文字 E を st という名前の文字列の最初のインデックスから挿入します。
  15. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  16. プログラムは正常に完了すると値を返す必要があります。
  17. main() 関数の本体の終わり。

#4: std::stringstream の使用

このクラスを使用して文字を文字列に変換するには、文字をストリームに挿入します。

それらは文字列に書き込まれます。

例8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

Code 説明:

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. その機能を使用するには、コードに sstream ヘッダー ファイルを含めます。
  4. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  5. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  6. st という名前の文字列変数を作成します。
  7. myst という名前のストリーム変数を作成します。
  8. 文字 A を myst という名前のストリーム オブジェクトに挿入します。
  9. ストリームオブジェクトを文字列に変換します。
  10. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  11. プログラムは正常に完了すると値を返す必要があります。
  12. main() 関数の本体の終わり。

よくあるご質問

char型は、文字、数字、記号などの単一の文字を格納するデータ型です。1バイトの容量を占め、内部的に文字のASCII値を保持します。

ASCIIは、文字を0から127までの数字にマッピングする標準規格です。 C++各文字はASCIIコードを格納するので、「A」は65、「a」は97です。

char キーワードと単一引用符で囲んだ単一の文字を使用して char 型を宣言します。例: char grade = 'A';。二重引用符ではなく、単一引用符が必要です。

char 型を int 型にキャストし、例えば int(ch) や (int)ch のようにして出力します。これにより、文字そのものではなく、数値の ASCII コードが表示されます。

ex と一緒に cin を使用してくださいtrac1文字を読み取るための演算子です。例えば、cin の後に ch と入力します。次にユーザーが入力した空白以外の文字を格納します。

std::string に char を代入したり、文字列コンストラクタを使用したり、std::string s(1, ch); のように追加して 1 文字の文字列を作成できます。

GitHub CopilotのようなAIアシスタントは、文字からASCIIへの変換を生成したり、文字入力ループを作成したり、入力中に一般的な文字や文字列の誤りに対する修正案を提示したりします。

はい。AI搭載ツールは、ASCIIコードと大文字小文字変換コードを生成し、文字から文字列への変換を処理し、単一の文字に二重引用符を使用するなどの間違いを指摘します。