Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция ПАМ(правильная версия)1.doc
Скачиваний:
22
Добавлен:
28.03.2016
Размер:
415.23 Кб
Скачать

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");