- •Конспект лекций Часть 1 Оглавление
- •Часть 1 1
- •Введение
- •1. Этапы и проблемы решения задач с использованием компьютера
- •Алфавит языка
- •Ключевые слова
- •Идентификаторы
- •Знаки операций
- •Константы
- •Комментарии
- •2.3. Структура и основные элементы программы
- •2.4. Трансляция программ и их выполнение
- •3. Стандартные (базовые) типы данных, операции и выражения
- •3.1. Типы данных, переменные и константы Понятие типов данных
- •Классификация простых предопределенных типов данных
- •Переменные, константы
- •3.2. Целочисленные типы данных
- •3.3. Вещественные типы данных
- •3.4. Логический тип данных
- •3.5. Символьный тип данных
- •3.6. Операции и выражения
- •Преобразования типов данных
- •Операция присваивания
- •Арифметические операции
- •Операции отношения
- •Логические операции
- •Поразрядные (битовые) операции
- •Операции составного присваивания
- •Условная операция
- •Операция sizeof
- •Приоритеты рассмотренных операций
- •3.7. Ввод и вывод простых типов данных
- •Вывод текстовых строк
- •Ввод/вывод арифметических типов данных
- •Форматирование ввода / вывода
- •4.1. Идеи структурного программирования
- •Условная инструкция (if)
- •Инструкция множественного выбора (switch)
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Итерационный цикл (for)
- •Инструкции перехода
- •5. Приемы программирования циклов
- •5.1. Рекуррентные вычисления
- •5.2. Инвариант цикла
- •6. Массивы
- •6.1. Понятие массива
- •6.2. Объявление массивов Объявление одномерных массивов
- •Объявление многомерных массивов
- •6.3. Ввод-вывод массивов
- •Вывод массивов
- •Ввод массивов
- •6.4. Текстовые строки как массивы символов
- •Определение текстовой строки
- •Ввод текстовых строк с клавиатуры
- •Обработка текстовых строк
- •Массивы текстовых строк
- •7. Разработка программ при работе с массивами
- •Не успел дописать. Некоторые примеры по этому разделу в Приложениях
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 |
размер объекта или тапа данных в байтах |
~ |
поразрядное отрицание |
! |
логическое отрицание |
- |
арифметическое отрицание (унарный минус) |
+ |
унарный плюс |
(тип) |
явное преобразование типов |
Бинарные операции |
|
Операция |
Описание |
* |
умножение |
/ |
деление |
% |
остаток от деления |
+ |
сложение |
- |
вычитание |
<< |
сдвиг влево |
>> |
сдвиг вправо |
< |
меньше |
<= |
меньше или равно |
> |
больше |
>= |
больше или равно |
== |
равно |
!= |
не равно |
& |
поразрядная конъюнкция (И) |
^ |
поразрядное исключающее ИЛИ |
| |
поразрядная дизъюнкция (ИЛИ) |
&& |
логическое И |
|| |
логическое ИЛИ |
Особое значение имеет операция присвоения и ее модификации:
Операция |
Краткое описание |
= |
присваивание |
*= |
умножение с присваиванием |
/= |
деление с присваиванием |
%= |
остаток отделения с присваиванием |
+= |
сложение с присваиванием |
-= |
вычитание с присваиванием |
<<= |
сдвиг влево с присваиванием |
>>= |
сдвиг вправо с присваиванием |
&= |
поразрядное И с присваиванием |
|= |
поразрядное ИЛИ с присваиванием |
^= |
поразрядное исключающее ИЛИ с присваиванием |
Тернарная операция |
|
Операция |
Описание |
?: |
условная операция |
При записи в тексте программы обозначений операций из двух и более символов, между этими символами не должно быть никаких пробельных символов (пробелов, символов табуляции, конца строки).