コンピュータプログラミング-文字
コンピュータプログラミングで数字を扱うのが簡単であれば、文字を扱うのはさらに簡単でしょう。文字は、a、b、c、d ....、A、B、C、D、.....のような単純なアルファベットですが、例外があります。コンピュータプログラミングでは、0、1、2、...などの1桁の数字や、$、%、+、-...などの特殊文字も文字として扱われ、文字タイプで割り当てられます。変数、あなたは単にそれらを中に入れる必要がありますsingle quotes。たとえば、次のステートメントは文字タイプ変数を定義しますch そしてそれに値 'a'を割り当てます-
char ch = 'a';ここに、 ch は、実装の文字セットの文字を保持できる文字タイプの変数であり、 'a' と呼ばれます character literalまたは文字定数。a、b、c、....だけでなく、1、2、3 ....などの任意の数字、または!、@、#、#、$、....などの特殊文字が一重引用符で囲まれている場合の場合、それらは文字リテラルとして扱われ、文字タイプの変数に割り当てることができるため、以下は有効なステートメントです-
char ch = '1';文字データ型は8ビットのメモリを消費します。つまり、ASCII値が-127〜127の間にある文字に何でも格納できるため、256の異なる値のいずれかを保持できます。文字データ型には、!、@、#、#、$、%、^、&、*、(、)、_、+、{、}などの特殊文字を含むキーボードで使用可能な任意の文字を格納できます。
一重引用符内に保持できるアルファベットまたは数字は1つだけであり、一重引用符内に複数のアルファベットまたは数字を含めることはできません。したがって、次のステートメントはCプログラミングでは無効です-
char ch1 = 'ab';
char ch2 = '10';以下に示すのは、Cプログラミング言語で文字を定義、割り当て、および印刷する方法を示す簡単な例です。
#include <stdio.h>
int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = 'a';      
   ch2 = '1';
   ch3 = '$';
   ch4 = '+';  
   printf( "ch1: %c\n", ch1);
   printf( "ch2: %c\n", ch2);
   printf( "ch3: %c\n", ch3);
   printf( "ch4: %c\n", ch4);
}ここでは、%cを使用して文字データ型を出力しました。上記のプログラムを実行すると、次の結果が得られます。
ch1: a
ch2: 1
ch3: $
ch4: +エスケープシーケンス
多くのプログラミング言語は、と呼ばれる概念をサポートしています Escape Sequence。文字の前に円記号(\)が付いている場合、それはエスケープシーケンスと呼ばれ、コンパイラーにとって特別な意味を持ちます。たとえば、次のステートメントの\ nは有効な文字であり、改行文字と呼ばれます-
char ch = '\n';ここで、キャラクター nバックスラッシュ(\)が前に付いている場合、改行である特別な意味がありますが、バックスラッシュ(\)は数文字のみの特別な意味があることに注意してください。次のステートメントは、Cプログラミングでは意味を伝えず、無効なステートメントと見なされます-
char ch = '\1';次の表に、Cプログラミング言語で使用できるエスケープシーケンスを示します。
| エスケープシーケンス | 説明 | 
|---|---|
| \ t | この時点でテキストにタブを挿入します。 | 
| \ b | この時点でテキストにバックスペースを挿入します。 | 
| \ n | この時点でテキストに改行を挿入します。 | 
| \ r | この時点で、テキストにキャリッジリターンを挿入します。 | 
| \ f | この時点でテキストにフォームフィードを挿入します。 | 
| \ ' | この時点で、テキストに一重引用符を挿入します。 | 
| \ " | この時点で、テキストに二重引用符を挿入します。 | 
| \\ | この時点で、テキストに円記号を挿入します。 | 
次の例は、コンパイラがprintステートメントのエスケープシーケンスをどのように解釈するかを示しています。
#include <stdio.h>
int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = '\t';      
   ch2 = '\n';
   printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}上記のプログラムを実行すると、次の結果が得られます。
Test for tabspace     and a newline 
will start hereJavaの文字
以下は、Javaで記述された同等のプログラムです。Javaは、Cプログラミングで見たのとほとんど同じ方法で文字データ型を処理します。ただし、Javaは文字操作の追加サポートを提供します。
次のプログラムを実行して出力を確認できます。これは、上記のCの例で生成された結果と同じである必要があります。
public class DemoJava {
   public static void main(String []args) {
      char  ch1;
      char  ch2;
      char  ch3;
      char  ch4;
   
      ch1 = 'a';      
      ch2 = '1';
      ch3 = '$';
      ch4 = '+';  
      System.out.format( "ch1: %c\n", ch1);
      System.out.format( "ch2: %c\n", ch2);
      System.out.format( "ch3: %c\n", ch3);
      System.out.format( "ch4: %c\n", ch4);
   }
}上記のプログラムを実行すると、次の結果が得られます。
ch1:  a
ch2:  1
ch3:  $
ch4:  +Javaは、Cプログラミングで使用したのと同じ方法でエスケープシーケンスもサポートします。
Pythonの文字
Pythonは文字データ型をサポートしていませんが、すべての文字は文字列である文字列として扱われます。別の章で文字列について学習します。Pythonで単一の文字を使用する場合、特別な配置は必要ありません。
以下はPythonで書かれた同等のプログラムです-
ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 
print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4上記のプログラムを実行すると、次の結果が得られます。
ch1:  a
ch2:  1
ch3:  $
ch4:  +Pythonは、Cプログラミングで使用したのと同じ方法でエスケープシーケンスをサポートします。