Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_информатика4.doc
Скачиваний:
59
Добавлен:
07.02.2015
Размер:
13.31 Mб
Скачать

Операции

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

Операция

Описание

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

++

Увеличение значения операнда на единицу:

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

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

--

Уменьшение значения операнда на единицу:

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

постфиксная операция уменьшает операнд после его использования

sizeof

вычисление размера (в байтах) для объекта того типа, который имеет операнд

-

Унарный минус

+

Унарный плюс

!

Логическое отрицание (НЕ). В качестве логических значений используется 0 (false) - ложь и не 0 (true) - истина, отрицанием 0 будет 1, отрицанием любого ненулевого числа будет 0

&

Получение адреса операнда

*

Получение значения, находящегося по указанному адресу (разыменование)

new

Выделение памяти

delete

Освобождение памяти

(type)

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

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

Мультипликативные

*

умножение операндов арифметического типа

/

деление операндов арифметического типа

%

получение остатка от деления целочисленных операндов

Продолжение табл.

Аддитивные

+

бинарный плюс (сложение арифметических операндов)

-

бинарный минус (вычитание арифметических операндов)

Операции сравнения

<

меньше, чем

<=

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

>

больше

>=

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

=

равно

!=

не равно

Логические операции

&&

конъюнкция (И) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина( не 0)

||

дизъюнкция (ИЛИ) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина(не 0)

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

?:

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

в ней используется три операнда.

Выражение1 ? Выражение2 : Выражение3;

Первым вычисляется значение выражения1. Если оно истинно, то вычисляется значение выражения2, которое становится результатом. Если при вычислении выражения1 получится 0, то в качестве результата берется значение выражения3.

Например:

x<0 ? -x : x ; //вычисляется абсолютное значение x

Операция присваивания

=

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

*=

умножение с присваиванием (мультипликативное присваивание)

/=

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

%=

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

+=

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

-=

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

Выражение (expression) – комбинация операций и операндов, результатом которой является определенное значение. Каждый операнд в выражении может, в свою очередь, быть выражением. Значение выражения зависит от расположения знаков операций и круглых скобок в выражении, а также от приоритета и ассоциативности выполнения операций. С помощью операций в выражениях образуются новые значения и изменяются значения переменных.

Далее приведены приоритеты операций (таблица).

Ранг

Операции

1

( ) [ ] -> .

2

! ~ - ++ -- & * (тип) sizeof тип( )

3

* / % (мультипликативные бинарные)

4

+ - (аддитивные бинарные)

5

< > <= >= (отношения)

6

== != (отношения)

7

&& (конъюнкция «И»)

8

|| (дизъюнкция «ИЛИ»)

9

?: (условная операция)

10

= *= /= %= -= &= ^= |= <<= >>= (операция присваивания)

11

, (операция запятая)

Константы в C++

Константа – это лексема, представляющая изображение фиксированного числового, строкового или символьного значения. Константы делятся на 5 групп:

  1. целые;

  2. вещественные (с плавающей точкой);

  3. перечислимые;

  4. символьные;

  5. строковые.

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

Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными (таблица).

Название

Определение

Примеры

Десятичная константа

Последовательность десятичных цифр, начинающаяся не с 0, если это число не 0

8, 0, 192345

Восьмеричная константа

Последовательность восьмеричных цифр, которым предшествует 0

026, 034, 017

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

Последовательность шестнадцатеричных цифр, которым предшествуют символы 0х или 0Х

0хА, 0Х00F, 0х123

Вещественные константы могут иметь две формы представления: с фиксированной точкой и с плавающей точкой (таблица).

Название

Вид

Примеры

Константы с фиксированной точкой

[цифры].[цифры]

5.7, .0001, 41.

Константа с плавающей точкой

[цифры][.][цифры]E|e[+|-] [цифры]

0.5е5, .11е-5, 5Е3

Типизированные константы языка C++ – те же переменные, занимающие место в памяти и имеющие определенный тип, только их значение нельзя изменять, поэтому инициализация констант обязательно происходит сразу при объявлении. Чтобы сделать переменную неизменяемой, необходимо написать ключевое слово const перед ее объявлением, можно определить сразу несколько типизированных констант, разделяя их определения запятыми.

сonst Тип Имя константы 1=Значение константы 1, Имя константы 2=Значение константы 2;

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

Перечислимые константы вводятся с помощью ключевого слова enum. Это обычные целые константы, которым приписаны уникальные и удобные для использования обозначения.

Пример

enum {one=1, two=2, three=3, four=4};

enum {zero,one,two,three};

enum {ten=10, three=3, four, five, six};

enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

Символьные константы – это один или два символа, заключенные в апострофы. Символьные константы, состоящие из одного символа, имеют тип char и занимают в памяти один байт, символьные константы, состоящие из двух символов, имеют тип int и занимают два байта. Последовательности, начинающиеся со знака \, называются управляющими, они используются:

  1. для представления символов, не имеющих графического отображения, например:

\a – звуковой сигнал,

\b – возврат на один шаг,

\n – перевод строки,

\t – горизонтальная табуляция;

  1. для представления символов: \ , ’ , ? , ” ( \\, \’ ,\? ,\” );

  2. для представления символов с помощью шестнадцатеричных или восьмеричных кодов (\073, \0хF5);

  3. строковая константа – это последовательность символов, заключенная в кавычки. Внутри строк также могут использоваться управляющие символы. Например:

”\nНовая строка”,

”\n\”Алгоритмические языки программирования””.

Переменные в С++

Переменные (variables) – поименованные области в памяти ЭВМ. ЯВУ используют переменные для хранения данных. Объявление переменной задает ее тип. Тип переменных определяет количество памяти, отводимой под переменную, а, также, ее правильное использование в программе. Имя переменной – правильный идентификатор (identifier).

Значение переменной – информация, которую содержит переменная в данный момент. Значение переменной может меняться. Наиболее явный способ изменить значение переменной заключается в использовании оператора присваивания (assignment statement). Первое присвоение значения переменной называется инициализацией (initialization). Если переменная не получила определенного значения, то говорят, что она не инициализирована.

Типы C++ можно разделить на простые и составные. К простым типам относят типы, которые характеризуются одним значением. В языке C++ определено 6 простых типов данных:

  1. int (целый);

  2. c

    целочисленные

    har (символьный);

  3. wchar_t (расширенный символьный) (C++);

  4. bool (логический) (C++);

  5. float (вещественный);

  6. double (вещественный с двойной точностью).

Типы float и double относятся к типам с плавающей точкой.

Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов

  1. short (короткий);

  2. long (длинный);

  3. signed (знаковый);

  4. unsigned (беззнаковый).

На разных машинах типы могут иметь различный размер, стандартом языка размер типов не установлен. Количество байт, действительно занимаемых типом в памяти, можно определить при помощи оператора sizeof. Например, если определена целая переменная int a, то ее размер – sizeof(a) байт.

char – символьный (занимает память как символ ASCII-кода –1 байт). Значение символьной переменной – любой допустимый символ, записываемый в апострофах. Например: 'ф', '5'. 'А' и 'а' – различаются;

int – целый размер и диапазон значений зависят от компилятора и процессора: 2 байта для 16-разрядного компилятора, 4 – для 32-разрядного;

float – вещественный – числа с плавающей точкой, представляются в памяти двумя значениями: мантиссой и порядком (123456 = 0.123456Е+6). Тип float занимает 4 байта памяти;

double – вещественный двойной точности – позволяет представлять вещественные числа с большей точностью, занимает 8 байт.

На разных машинах типы могут иметь различный размер, стандартом языка размер типов не установлен. Количество байт, действительно занимаемых типом в памяти, можно определить при помощи оператора sizeof. Например, если определена целая переменная int a, то ее размер – sizeof(a) байт.