- •Лекция 1.Алфавит и основные понятия языка. Типы данных и операции. Операторы.
- •Встроенные типы.
- •Функции математической библиотеки.
- •Встроенные типы
- •1. Буквы и цифры
- •2. Специальные символы
- •3.Комментарии
- •4. Имена переменных
- •5.Константы
- •6. Операции и выражения
- •Функции математической библиотеки.
4. Имена переменных
Для обозначения величин, имен функций и т.п. используются именаилиидентификаторы.
Идентификатор– это последовательность знаков, начинающаяся с буквы или знака подчеркивания. Видентификаторахможно использовать заглавные и строчные латинские буквы, цифры и знак подчеркивания. Длинаидентификаторовпроизвольная.
Примеры правильных идентификаторов:abc, A12, NamePerson, BYTES_А.
abcиAbc– два разныхидентификатора, т.е. заглавные и строчные буквы различаются.
Примеры неправильных идентификаторов:12X, a-b.
Ряд слов в языке С++ имеет особое значение и не может использоваться в качестве идентификаторов. Такие зарезервированные слова называются ключевыми. Пример:namespace, for, false, double и т. д.
С точки зрения архитектуры компьютера, переменная– это символическое обозначение ячейки оперативной памяти программы, в которой хранятся данные. Содержимое этой ячейки – это текущее значениепеременной. В языке С++ прежде чем использоватьпеременную, ее необходимообъявить. Пример объявленияпеременнойсименем x:
int x;
В объявлении первым стоит название типа переменнойint(целое число), а затемидентификаторx–имя переменной. Упеременнойxесть тип – в данном случае целое число. Типпеременнойопределяет, какие возможные значения этапеременнаяможет принимать и какие операции можно выполнять над даннойпеременной. Типпеременнойизменить нельзя, т.е. покапеременнаяxсуществует, она всегда будет целого типа.
5.Константы
Константами в языке С++ могут быть числа (целые и вещественные), символы и строки символов, которые допустимо использовать в программе в смысле их значений. Значение констант не может быть изменено в процессе работы программы. Далеко не всегда удобно записывать константы в тексте программы явно. Гораздо чаще используются символические константы.
Пример
const int b=32;
После этого имяb можно будет использовать вместо целого числа32. Преимущества такого подхода очевидны.
6. Операции и выражения
Под операциямиследует понимать действия, выполняемые программой над определенными в ней объектами. Для обозначения операций используются некоторые стандартные комбинации специальных символов из алфавита языка. Объекты программы, участвующие в операции, называютсяоперандами. Всякая комбинация одного или большего числа операндов и символов операций, дающая единственное значение, образуетвыражение. Любое выражение, заканчивающееся точкой с запятой, являетсяоператором. Множество всех операций языка С+ удобно разделить на следующие группы:
- арифметические операции
+ сложение
- вычитание
* умножение
/ деление
Результат арифм. операции – число, по типу соответствующее большему по разрядности операнду. Например, сложениечисел типаshortиlongв результате дает число типаlong.
Операция нахождения остатка от деленияодного целого числа на другое. Тип результата – целое число.
% остаток
Операция "минус" – это унарная операция, при которой знак числа изменяется на противоположный. Она применима к любым числам со знаком. Операция "плюс" существует для симметрии. Она ничего не делает, т.е. примененная к целому числу, его же и выдает.
- минус
+ плюс
Операции ++ и -- инкрементируют (увеличивают на 1) и декрементируют (уменьшают на 1) свой операнд. Операнд должен иметь целый, вещественный тип или быть указателем. Операции инкремента и декремента могут записываться как перед своим операндом (префиксная форма записи), так и после него (постфиксная форма записи). При префиксной форме записи операнд сначала инкрементируется или декрементируется, а затем его новое значение участвует в дальнейшем вычислении выражения, содержащего данную операцию. При постфиксной форме записи операнд инкрементируется или декрементируется лишь после того, как его старое значение участвует в вычислении выражения. Таким образом, результатом операций инкремента и декремента является либо новое, либо старое значение операнда. Например, если переменная i = 0, то выражение a[++i] = 1 меняет элемент a[1], а выражение a[i++] = 1 меняет элемент a[0]. В обоих случая переменная i получает новое значение, равное 1.
++ увеличить на единицу
-- уменьшить на единицу
- операции сравнения
== равно
!= не равно
< меньше
> больше
<= меньше или равно
>= больше или равно
Сравнивать можно операнды любого типа, но они должны быть оба одного и того же встроенного типа. Результат – логическое значение trueилиfalse.
-логические операции
&& логическое И
|| логическое ИЛИ
! логическое НЕ
В качестве операндов выступают логические значения, результат – тоже логическое значение trueилиfalse.
- операции присваивания
= присваивание
Присвоить значение правого операнда левому. Результат операции присваивания– это значение правого операнда.
+=, -=, *=, /=, %= выполнить операцию и присвоить
Выполнить соответствующую операцию с левым операндом и правым операндом и присвоить результат левому операнду. Типы операндов должны быть такими, что, во-первых, для них должна быть определена соответствующая арифметическая операция, а во-вторых, результат может быть присвоен левому операнду.
Порядок вычисления выражений
У каждой операции имеется приоритет. Если ввыражениинесколько операций, то первой будет выполнена операция с более высокимприоритетом. Если же операции одного и того жеприоритета, они выполняются слева направо.
-
Уменьшение приоритета
Тип операции
Операторы
Разрешение области видимости
::
другие
[ ], ( ), . “точка”
унарные
!
арифметические
*, /, %
арифметические
+, -,
сравнение
>, <, >=, <=
сравнение
==, !=
логические
&&, ||
присваивания
=, *=, /=, %=, +=, -=
последовательность
“,” (запятая)
Поддержка русского языка. Консольные приложения не поддерживают русский язык. Чтобы это исправить, нужна функция setlocale(LC_CTYPE,"Russian");