C言語を使用する上で、文字型変数は結構使うので、使い方についてメモをしておきます。
ASCIIコード
コンピュータは文字をそのまま使用することができません。
英数字や記号などの文字を、0~127の番号で管理しています。
これをASCIIコードと呼び、国際標準の表をASCIIコードと呼んでいます。
文字を表示してみる
C言語では文字を半角文字1個で表します。
この時に使用する変数が、文字型の「char」です。
「char」については【C言語】数値型の早見表で説明しています。
また、文字を記述するときは必ず「’」をつけます。
そして、半角文字以外、複数文字は代入はできません。
ダメな例
- char a = “AAA”;
- char a = “あ”;
#include <stdio.h> main() { char a = 'A'; char b = 65; printf("%dn", a); printf("%cn", a); printf("%dn", b); printf("%cn", b); }
# gcc test.c -o test
# ./test 65 A 65 A
ASCIIコード表
本を出して調べるのがめんどいのでASCIIコード表を作りました。
番号 | 文字 | 番号 | 文字 |
0(0x00) | NUL(null) | 64(0x40) | @ |
1(0x01) | SOH(start of heading) | 65(0x41) | A |
2(0x02) | STX(start of text) | 66(0x42) | B |
3(0x03) | ETX(end of text) | 67(0x43) | C |
4(0x04) | EOT(end of transmission) | 68(0x44) | D |
5(0x05) | ENQ(enquiry) | 69(0x45) | E |
6(0x06) | ACK(acknowledge) | 70(0x46) | F |
7(0x07) | BEL(bell) | 71(0x47) | G |
8(0x08) | BS(backspace) | 72(0x48) | H |
9(0x09) | HT(horizontal tab) | 73(0x49) | I |
10(0x0A) | LF(line feed) | 74(0x4A) | J |
11(0x0B) | VT(vertical tab) | 75(0x4B) | K |
12(0x0C) | FF(form feed) | 76(0x4C) | L |
13(0x0D) | CR(carriage return) | 77(0x4D) | M |
14(0x0E) | SO(shift out) | 78(0x4E) | N |
15(0x0F) | SI(shift in) | 79(0x4F) | O |
16(0x10) | DLE(data link escape) | 80(0x50) | P |
17(0x11) | DC1(device control 1) | 81(0x51) | Q |
18(0x12) | DC2(device control 2) | 82(0x52) | R |
19(0x13) | DC3(device control 3) | 83(0x53) | S |
20(0x14) | DC4(device control 4) | 84(0x54) | T |
21(0x15) | NAK(negative acknowledge) | 85(0x55) | U |
22(0x16) | SYN(synchronous idle) | 86(0x56) | V |
23(0x17) | ETB(end of trans. block) | 87(0x57) | W |
24(0x18) | CAN(cancel) | 88(0x58) | X |
25(0x19) | EM(end of medium) | 89(0x59) | Y |
26(0x1A) | SUB(substitute) | 90(0x5A) | Z |
27(0x1B) | ECS(escape) | 91(0x5B) | [ |
28(0x1C) | FS(file separator) | 92(0x5C) | |
29(0x1D) | GS(group separator) | 93(0x5D) | ] |
30(0x1E) | RS(record separator) | 94(0x5E) | ^ |
31(0x1F) | US(unit separator) | 95(0x5F) | – |
32(0x20) | (スペース) | 96(0x60) | ` |
33(0x21) | ! | 97(0x61) | a |
34(0x22) | “ | 98(0x62) | b |
35(0x23) | # | 99(0x63) | c |
36(0x24) | $ | 100(0x64) | d |
37(0x25) | % | 101(0x65) | e |
38(0x26) | & | 102(0x66) | f |
39(0x27) | ‘ | 103(0x67) | g |
40(0x28) | ( | 104(0x68) | h |
41(0x29) | ) | 105(0x69) | i |
42(0x2A) | * | 106(0x6A) | j |
43(0x2B) | + | 107(0x6B) | k |
44(0x2C) | ‘ | 108(0x6C) | l |
45(0x2D) | – | 109(0x6D) | m |
46(0x2E) | ・ | 110(0x6E) | n |
47(0x2F) | / | 111(0x6F) | o |
48(0x30) | 0 | 112(0x70) | p |
49(0x31) | 1 | 113(0x71) | q |
50(0x32) | 2 | 114(0x72) | r |
51(0x33) | 3 | 115(0x73) | s |
52(0x34) | 4 | 116(0x74) | t |
53(0x35) | 5 | 117(0x75) | u |
54(0x36) | 6 | 118(0x76) | v |
55(0x37) | 7 | 119(0x77) | w |
56(0x38) | 8 | 120(0x78) | x |
57(0x39) | 9 | 121(0x79) | y |
58(0x3A) | : | 122(0x7A) | z |
59(0x3B) | ; | 123(0x7B) | { |
60(0x3C) | < | 124(0x7C) | | |
61(0x3D) | = | 125(0x7D) | } |
62(0x3E) | > | 126(0x7E) | ~ |
63(0x3F) | ? | 127(0x7F) | DEL(delete) |
それでは!
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。