Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Особливості типу char

Дані типу char (символьні дані) займають 1 байт пам'яті. Літерали типу char позначаються як символ в одиночних лапках: 'А', '1', '<' і т.д. Два символи, перший з яких – “зворотній слеш” (\), використовуються для представлення спеціальних символів. Так: '\n' – це “перехід на новий рядок”, '\t' – “табуляція”, '\\' – один зворотний слеш, '\'' – одні одиночні лапки.

При необхідності символьний літерал може бути представлений восьмеричним кодом виду '\ddd'. Так, 'А' і '101' задають той самий символ. За замовчуванням передбачається, що символьні дані є знаковими.

Беззнакові символьні дані з'являються за допомогою специфікатора unsigned. Беззнакові символьні дані мають значення від 0 до 255. Приклад визначення констант і перемінних типу char:

const char c= 'м'; char f = -34;

unsigned char q ='я' ; r=167;

Тип char фактично є підтипом типу int, т.е для char – даних можна використовувати ті ж арифметичні операції, що і для типу int. У виразах дані типу char можна змішувати з даними типу int. Можна додати символ 'а' до числа 3 і одержати символ (точніше, код символу) 'd'. При визначенні результату таких змішаних виразів варто пам'ятати, що, якщо два операнда операції мають різний тип (наприклад, додаються дані char і int), більш простий тип даних автоматично перетвориться до форми складного.

Для наведеного прикладу однобайтовий char буде перетворено у двухбайтовий int, і тільки після цього буде виконано додавання. Виявляється, що таке перетворення char у int виконується різним чином для знакових і беззнакових int. Справа в тім, що «подовження» робиться розмноженням знакового розряду. Оскільки «знакові» дані цілого типу представлені в додатковому коді, у якому старший (лівий) розряд з восьми розрядів байта є знаковим, для додатніх даних цей розряд – нульовий, для від'ємних – одиничний.

Таке ж перетворення робиться при присвоюванні даних типу char даним типу int або long.

Приклад:

void main (void) {char a; unsigned char b; int c; d; a=0xa8; b=0xa8; c=a; d=b;}

У результаті змінна с має значення 0хffffffа8 (-88), перемінна d – значення 0ха8 (168). Відзначимо, що як а, так як і b представляють символ 'и'.

При необхідності виводу в стандартний потік коду символу варто явно перетворити його до типу int: cout<<'A'<<''має код''<<int ('A')<<endl;

Якщо потрібно змінити систему числення для представлення виведених цілочислених даних, варто скористатися маніпуляторами. Маніпулятори oct (восьмерична система), hex (шестнадцятеричная система), dec (десяткова система) або setbase (основа системи ) дозволяють змінити основу системи. Функція – член setf з параметром ios::showbase забезпечує вивід цілочислених даних у формі літералів у відповідній системі . Функція – член unsetf з тим же параметром дозволяє виводити цілочислені дані без ознаки системи числення .




Переглядів: 397

<== попередня сторінка | наступна сторінка ==>
ТЕОРЕТИЧНА ЧАСТИНА. | Файл ctype.h

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.