【C言語】文字型の意味とアスキーコード表

C言語を使用する上で、文字型変数は結構使うので、使い方についてメモをしておきます。

ASCIIコード

コンピュータは文字をそのまま使用することができません。
英数字や記号などの文字を、0~127の番号で管理しています。

これをASCIIコードと呼び、国際標準の表をASCIIコードと呼んでいます。

文字を表示してみる

C言語では文字を半角文字1個で表します。
この時に使用する変数が、文字型の「char」です。

「char」については【C言語】数値型の早見表で説明しています。

また、文字を記述するときは必ず「’」をつけます。
そして、半角文字以外、複数文字は代入はできません。

ダメな例

  1. char a = “AAA”;
  2. 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で学べます。



ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!