Рамз — ин адад аст
Ҳар рамзе, ки компютер нигоҳ медорад, ҳамчун адад — коди он — нигоҳ дошта мешавад: ҳарф, рақам, фосила, вергул. Кодҳо аз ҷадвале меоянд, ки ASCII ном дорад. Ҳарфҳо ва рақамҳо дар он ба тартиб, бе ҷойи холӣ меистанд. Фосила 32 аст.
char код дорад ва cout char-ро ҳамчун рамз нишон медиҳад. Намуди дигарро бо табдили навъ ба даст овардан мумкин аст:
Рамз дар нохунаки яккарата ва адад як чиз нестанд. '7' рамзест бо коди 55 ва 7 адади ҳафт аст.
Ҳисобкунӣ бо рамзҳо
Ҳарфҳо ба тартиб меистанд, бинобар ин ҳисоби кодҳо ҳисоби алифбо аст:
- ҷои ҳарф, аз 0 ҳисоб карда:
c - 'a'. Барои'd'ин 3 аст; - ҳарф дар ҷои
k, аз 0:char('a' + k). Бароиk = 2ин'c'аст; - ҳарфи навбатӣ:
char(c + 1). Баъд аз'g''h'меояд; - масофаи байни ду ҳарф:
abs(a - b). Барои'a'ва'e'он 4 аст; - ҳарфи калон ба ҳарфи хурд:
char(c + 32). Барои'G''g'мешавад. Баръаксc - 32аст; - қимати рақам:
c - '0'. Барои'7'ин 7 аст; - рамзи рақам:
char('0' + d). Бароиd = 4ин'4'аст.
Ба ду чиз бояд эҳтиёт шуд:
- Ҳисобкунӣ бо
charintмедиҳад.cout << 'a' + 2;99-ро чоп мекунад, наc. Натиҷаро дарchar(...)гузоред, то рамз чоп шавад. Ё аввал онро дарcharнигоҳ доред:char next = c + 1;рамзро нигоҳ медорад. min,maxва муқоисаҳо бо кодҳо кор мекунанд.min('d', 'b')ин'b'аст, ки дар алифбо пештар меояд. Аммо ҳар ҳарфи калон пеш аз ҳар ҳарфи хурд меояд:'Z'(90) аз'a'(97) хурдтар аст.
char метавонад тағйирёбандаи сикл бошад. Ин барнома алифборо чоп мекунад:
Хондани як рамз дар як вақт
cin >> c бо char c маҳз як рамзро мехонад. Пеш аз он фосилаҳо ва гузаришҳо ба сатри нав ро мегузаронад. Бинобар ин барои коди кӯтоҳ ҷудо кардан лозим нест.
Қуфлҳои шкафҳои мактабӣ кодҳое монанди
C7доранд: ҳарфи калон барои саф (Aсафи 1 аст) ва рақам барои раф. Саф ва рафро ҳамчун адад чоп кунед.