コンピュータプログラミング-文字列
についての議論の間に characters、文字データ型は単一の文字を扱い、キーボードから任意の文字を文字型変数に割り当てることができることを学びました。
それでは、少し先に進んで、変数に複数の文字を格納する必要がある状況を考えてみましょう。Cプログラミングでは、文字タイプ変数に複数の文字を格納できないことを確認しました。したがって、次のステートメントはCプログラミングでは無効であり、構文エラーが発生します-
char ch1 = 'ab';
char ch2 = '10';
また、の概念の使用方法を見てきました arrays類似のデータ型の複数の値を変数に格納します。これは、int型の配列に5つの数値を格納して出力するための構文です。
#include <stdio.h>
main() {
int number[5] = {10, 20, 30, 40, 50};
int i = 0;
while( i < 5 ) {
printf("number[%d] = %d\n", i, number[i] );
i = i + 1;
}
}
上記のコードをコンパイルして実行すると、次の結果が得られます。
number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50
それでは、数字の場合と同じ方法で5文字の配列を定義し、それらを出力してみましょう。
#include <stdio.h>
main() {
char ch[5] = {'H', 'e', 'l', 'l', 'o'};
int i = 0;
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
ここでは、%cを使用して文字値を出力しました。上記のコードをコンパイルして実行すると、次の結果が得られます。
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
上記の例が終わったら、Cプログラミングで文字列がどのように機能するかを理解したと思います。 strings in C are represented as arrays of characters。Cプログラミングにより、文字列の割り当てと印刷が簡素化されました。簡略化した構文で同じ例をもう一度確認してみましょう-
#include <stdio.h>
main() {
char ch[5] = "Hello";
int i = 0;
/* Print as a complete string */
printf("String = %s\n", ch);
/* Print character by character */
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
ここでは、%sを使用して、配列名を使用して完全な文字列値を出力しました ch、これは実際にはメモリアドレス保持の始まりです ch 以下に示す変数-
上記の例からはわかりませんが、Cプログラムは内部的にヌル文字を割り当てます '\0'すべての文字列の最後の文字として。これは文字列の終わりを示し、5文字の文字列を配列に格納する場合は、Cが文句を言わないものの、配列サイズ6を適切な方法として定義する必要があることを意味します。
上記のコードをコンパイルして実行すると、次の結果が得られます。
String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
基本的な文字列の概念
上記の議論に基づいて、Cプログラミング言語の文字列に関する次の重要なポイントを結論付けることができます-
Cの文字列は、文字の配列として表されます。
文字ごとに文字の配列に割り当てることにより、Cプログラミングで文字列を構成できます。
二重引用符で囲まれた完全な文字列を割り当てることにより、Cプログラミングで文字列を構成できます。
配列の添え字を使用して文字ごとに文字列を印刷することも、添え字なしの配列名を使用して完全な文字列を印刷することもできます。
すべての文字列の最後の文字はヌル文字です。つまり、 ‘\0’。
ほとんどのプログラミング言語には、文字列を操作するための組み込み関数が用意されています。つまり、文字列を連結したり、文字列から検索したり、文字列からサブ文字列を抽出したりできます。詳細については、 Cプログラミングまたはその他のプログラミング言語。
Javaの文字列
文字配列を使用して文字列を格納できますが、Javaは高度なプログラミング言語であり、その設計者は追加機能を提供しようとしました。Javaは、他のデータ型と同様に、組み込みデータ型として文字列を提供します。これは、文字列を文字の配列として定義するのではなく、直接定義できることを意味します。
以下は、Javaで記述された同等のプログラムです。Javaはを利用しますnew 次のプログラムに示すように、文字列変数を作成する演算子。
次のプログラムを実行して、出力を確認できます-
public class DemoJava {
public static void main(String []args) {
String str = new String("Hello");
System.out.println( "String = " + str );
}
}
上記のプログラムを実行すると、次の結果が得られます。
String = Hello
Pythonの文字列
Pythonで文字列を作成するのは、一重引用符または二重引用符を使用して文字列をPython変数に割り当てるのと同じくらい簡単です。
以下に示すのは、2つの文字列を作成し、print()関数を使用してそれらを出力する単純なプログラムです。
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1 = ", var1
print "var2 = ", var2
上記のプログラムを実行すると、次の結果が得られます。
var1 = Hello World!
var2 = Python Programming
Pythonは文字タイプをサポートしていません。これらは長さ1の文字列として扱われるため、部分文字列とも見なされます。
部分文字列にアクセスするには、1つまたは複数のインデックスとともにスライスするための角括弧を使用して、部分文字列を取得します。次のコードセグメントを見てください-
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
上記のコードを実行すると、次の結果が得られます。
var1[0]: H
var2[1:5]: ytho