授業/C言語基礎/文字
をテンプレートにして作成
開始行:
これまで、文字列は、''ダブル・クォーテーション'' ''"'' で...
実は、文字列は文字を並べたデータ、つまり、文字の配列です。
そこで、まずは文字について説明します。
*文字はchar型の変数 [#if83af1c]
文字を格納するための変数の型は''char型''です。
#geshi(c){{
char c;
}}
*文字はシングル・クォーテーションで囲む [#if7f171b]
文字列はダブル・クォーテーションで囲みましたが、文字は''...
#geshi(c){{
char c = 'A';
}}
*文字を入出力するときの変換指定子は %c [#u56ed64b]
scanf関数でキーボードから文字を入力するときや、printf関数...
#geshi(c){{
char c;
scanf("%c", &c);
printf(">> %c\n", c);
}}
**演習1 [#df4b341c]
プログラム1を作成し、実行結果を確認せよ。
*エスケープ・シーケンスは1文字 [#g7b54906]
改行 \n、バックスラッシュ \\、ダブル・クォーテーション \"...
#geshi(c){{
char c = '\\';
printf(">> %c", c);
}}
**演習2 [#x91abbdc]
プログラム2を作成し、実行結果を確認せよ。
*文字は文字コードで表される [#x3256690]
文字は、2進数の文字コードで表されていて、1バイト(8ビット...
たとえば、ASCIIコードの場合、''A'' は2進数の ''01000001''...
#geshi(c){{
char c = 'A';
printf(">> %d\n", c);
}}
このプログラムを実行すると、次のようになります。
#geshi(sh){{
luna% a.out
>> 65
}}
このため、文字を整数として考えると、足し算もできます(プ...
#geshi(c){{
char c = 'A' + 1;
pinrtf(">> %c\n", c);
}}
このプログラムを実行すると、次のようになります。
#geshi(sh){{
luna% a.out
>> B
}}
**演習3 [#x6169bc6]
プログラム3とプログラム4を作成し、実行結果を確認せよ。
*数字を数値に変換する(おまけ) [#i42f8772]
文字を2進数の文字コードとして考えると、計算によって数字(...
#geshi(c){{
char c1, c2;
int i1, i2;
printf("数字を2回入力してください");
scanf("%c", &c1);
scanf("%c", &c2);
i1 = c1 - '0';
i2 = c2 - '0';
printf("合計は%d\n", i1 + i2);
}}
*文字の種類を判別する(おまけ) [#d2f211db]
文字を2進数の文字コードとして考えると、文字コードの比較に...
#geshi(c){{
char c];
printf("文字を入力してください");
scanf("%c", c);
if (c >= '0' && c <= '9') {
printf("数字です\n");
else if (c >= 'A' && c <= 'Z') {
printf("大文字のアルファベットです\n");
else if (c >= 'a' && c <= 'z') {
printf("小文字のアルファベットです\n");
} else {
printf("数字またはアルファベットではありません");
}
}}
*日本語やUnicodeの文字(おまけ) [#b0be426c]
日本語やUnicodeの文字は1バイトに収まりません。
そのため、ここで勉強したchar型では扱うことができません。
*まとめ [#b3d0128f]
文字を格納するための変数は''char型''です。
文字は''シングル・クォーテーション''で囲んで表し、出力す...
改行などの特別な文字は、''エスケープ・シーケンス''として...
エスケープ・シーケンスは、バックスラッシュと1文字で1文字...
終了行:
これまで、文字列は、''ダブル・クォーテーション'' ''"'' で...
実は、文字列は文字を並べたデータ、つまり、文字の配列です。
そこで、まずは文字について説明します。
*文字はchar型の変数 [#if83af1c]
文字を格納するための変数の型は''char型''です。
#geshi(c){{
char c;
}}
*文字はシングル・クォーテーションで囲む [#if7f171b]
文字列はダブル・クォーテーションで囲みましたが、文字は''...
#geshi(c){{
char c = 'A';
}}
*文字を入出力するときの変換指定子は %c [#u56ed64b]
scanf関数でキーボードから文字を入力するときや、printf関数...
#geshi(c){{
char c;
scanf("%c", &c);
printf(">> %c\n", c);
}}
**演習1 [#df4b341c]
プログラム1を作成し、実行結果を確認せよ。
*エスケープ・シーケンスは1文字 [#g7b54906]
改行 \n、バックスラッシュ \\、ダブル・クォーテーション \"...
#geshi(c){{
char c = '\\';
printf(">> %c", c);
}}
**演習2 [#x91abbdc]
プログラム2を作成し、実行結果を確認せよ。
*文字は文字コードで表される [#x3256690]
文字は、2進数の文字コードで表されていて、1バイト(8ビット...
たとえば、ASCIIコードの場合、''A'' は2進数の ''01000001''...
#geshi(c){{
char c = 'A';
printf(">> %d\n", c);
}}
このプログラムを実行すると、次のようになります。
#geshi(sh){{
luna% a.out
>> 65
}}
このため、文字を整数として考えると、足し算もできます(プ...
#geshi(c){{
char c = 'A' + 1;
pinrtf(">> %c\n", c);
}}
このプログラムを実行すると、次のようになります。
#geshi(sh){{
luna% a.out
>> B
}}
**演習3 [#x6169bc6]
プログラム3とプログラム4を作成し、実行結果を確認せよ。
*数字を数値に変換する(おまけ) [#i42f8772]
文字を2進数の文字コードとして考えると、計算によって数字(...
#geshi(c){{
char c1, c2;
int i1, i2;
printf("数字を2回入力してください");
scanf("%c", &c1);
scanf("%c", &c2);
i1 = c1 - '0';
i2 = c2 - '0';
printf("合計は%d\n", i1 + i2);
}}
*文字の種類を判別する(おまけ) [#d2f211db]
文字を2進数の文字コードとして考えると、文字コードの比較に...
#geshi(c){{
char c];
printf("文字を入力してください");
scanf("%c", c);
if (c >= '0' && c <= '9') {
printf("数字です\n");
else if (c >= 'A' && c <= 'Z') {
printf("大文字のアルファベットです\n");
else if (c >= 'a' && c <= 'z') {
printf("小文字のアルファベットです\n");
} else {
printf("数字またはアルファベットではありません");
}
}}
*日本語やUnicodeの文字(おまけ) [#b0be426c]
日本語やUnicodeの文字は1バイトに収まりません。
そのため、ここで勉強したchar型では扱うことができません。
*まとめ [#b3d0128f]
文字を格納するための変数は''char型''です。
文字は''シングル・クォーテーション''で囲んで表し、出力す...
改行などの特別な文字は、''エスケープ・シーケンス''として...
エスケープ・シーケンスは、バックスラッシュと1文字で1文字...
ページ名: