Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект С++ (Часть 1).doc
Скачиваний:
17
Добавлен:
09.11.2019
Размер:
1.24 Mб
Скачать

3.5. Символьный тип данных

Для обозначения этого типа используется ключевое слово char.

Под величину символьного типа отводится количество байт, достаточное для размещения любого символа из набора символов для данного компьютера, что и обусловило название типа. Как правило, это 1 байт. Тип char, как и другие целые типы, может быть со знаком или без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. По умолчанию тип char являемся знаковым, то есть спецификатор signed использовать не обязательно. При использовании спецификатора unsigned значения могут находиться в пределах от 0 до 255. Этого достаточно для хранения любого символа из 256-символьного набора ASCII. Величины типа char могут применяться и для хранения целых чисел, не выходящих за границы указанных диапазонов.

Спецификаторы short и long к этому типу данных не применяются.

Константы - литералы символьного типа представляют собой символы, заключенные в апострофы. Например:

A’ ’!’ ’#’ ’f’ ’ш’ ’я’

В языке C++ существует понятие управляющих или ESCAPE – последовательностей.

Управляющие последовательности начинаются символом обратной косой черты и служат:

  • Для представления символов, не имеющих графического изображения. Например: ‘\n – перевод экранного курсора в начало следующей строки; ‘\t символ табуляции и т.д.

  • Для представления некоторых специальных символов, а именно: знака косой черты, апострофа, знака вопроса и кавычки – ‘\\’, ‘\’’, ‘\?’, ‘\”’.

  • Для представления любого из 256 символов таблицы ASCII с помощью его восьмеричного или шестнадцатеричного номера. Например: ‘\054’, ‘\x4A’.

Управляющая последовательность воспринимается компилятором как одиночный символ.

Если непосредственно за обратной косой чертой следует не предусмотренный символ, результат интерпретации не определен.

Если в последовательности цифр встречается недопустимая, она считается концом цифрового кода.

Допустимые варианты управляющих последовательностей приведены в следующей таблице:

Изображение

Шестнадцатеричный код

Назначение

7

Звуковой сигнал

\b

8

Возврат на шаг

\f

С

Перевод страницы (формата)

\n

A

Перевод строки

D

Возврат каретки

\t

9

Горизонтальная табуляция

\v

8

Вертикальная табуляция

\\

5C

Обратная косая черта

\’

27

Апостроф

\"

22

Кавычка

\?

3F

Вопросительный знак

\0oo

0oo - восьмеричный код символа

\xdd

dd

xdd - шестнадцатеричный код символа

3.6. Операции и выражения

Обработка данных выполняется с помощью операций.

Операция – это действие, осуществляемое над операндами. Например:

2 + 3

Здесь операция сложения (+) выполняется над двумя операндами (2 и 3).

В зависимости от количества операндов в языке C++ имеются унарные (с одним операндом), бинарные (с двумя операндами) и одна тернарная (с тремя операндами) операция.

Из знаков операций, операндов и круглых скобок строятся выражения. В качестве операндов могут использоваться константы, переменные, функции и другие выражения (константы и переменные считаются частными случаями выражений). В результате вычисления выражения получается некоторое значение определенного типа. Тип данных значения выражения зависит от выполняемой операции (операций) и типов данных операндов.

Особенностью языка C++ является то, что некоторые операции в зависимости от контекста могут иметь разное назначение.

Ниже приведены операции характерные для рассмотренных выше арифметических типов данных. Другие операции будут рассмотрены по мере изучения соответствующих типов данных.

Унарные операции

Операция

Описание

++

увеличение на 1 (инкремент)

--

уменьшение на 1 (декремент)

sizeof

размер объекта или тапа данных в байтах

~

поразрядное отрицание

!

логическое отрицание

-

арифметическое отрицание (унарный минус)

+

унарный плюс

(тип)

явное преобразование типов

Бинарные операции

Операция

Описание

*

умножение

/

деление

%

остаток от деления

+

сложение

-

вычитание

<<

сдвиг влево

>>

сдвиг вправо

<

меньше

<=

меньше или равно

>

больше

>=

больше или равно

==

равно

!=

не равно

&

поразрядная конъюнкция (И)

^

поразрядное исключающее ИЛИ

|

поразрядная дизъюнкция (ИЛИ)

&&

логическое И

||

логическое ИЛИ

Особое значение имеет операция присвоения и ее модификации:

Операция

Краткое описание

=

присваивание

*=

умножение с присваиванием

/=

деление с присваиванием

%=

остаток отделения с присваиванием

+=

сложение с присваиванием

-=

вычитание с присваиванием

<<=

сдвиг влево с присваиванием

>>=

сдвиг вправо с присваиванием

&=

поразрядное И с присваиванием

|=

поразрядное ИЛИ с присваиванием

^=

поразрядное исключающее ИЛИ с присваиванием

Тернарная операция

Операция

Описание

?:

условная операция

При записи в тексте программы обозначений операций из двух и более символов, между этими символами не должно быть никаких пробельных символов (пробелов, символов табуляции, конца строки).