Автор: Пользователь скрыл имя, 17 Февраля 2013 в 11:33, реферат
В настоящее время язык С++ является одним из основных в практическом программировании. Достоинство языка С++ - это, прежде всего, его простота и лаконичность. Язык С++ легко учится. Главные понятия языка С++, такие, как статические и локальные переменные, массивы, указатели, функции и т.д., максимально приближены к архитектуре реальных компьютеров. Программист, пишущий на С++, всегда достаточно точно представляет себе, как созданная им программа будет работать на любой конкретной архитектуре. Другими словами, язык С++ предоставляет программисту полный контроль над компьютером.
Введение 3
1. Понятие выражения 4
2. Операторы выражений языка С++ 5
2.1. Арифметические операции. 5
2.2. Операции отношения. 7
2.3. Логические операции. 8
2.4. Операция присваивания. 10
2.5. Операция явного преобразования типа (операция «тип»). 11
2.6. Операторы вычисления размера операнда. 12
2.7. Другие операторы 13
Заключение. 15
Список литературы 17
Примеры использования этих операций:
а+=2 эквивалентно а=а+2,
х-=а+Ь эквивалентно х=х-(а+Ь),
р/=10 эквивалентно р=р/10,
m*=n эквивалентно m=m*n,
r%=5 эквивалентно r=r%5.
Заметим, что вместо выражения а=а+2 предпочтительнее писать в программе а+=2, поскольку второе выражение будет вычисляться быстрее.
Применение этой операции имеет следующий формат:
(имя_типа) операнд
Операндом могут быть константа, переменная, выражение. В результате значение операнда преобразуется к указанному типу. Примеры использования преобразования типа:
(long)8, (float)I, (int)x%2
По поводу последнего выражения заметим, что приоритет операции «тип» выше деления (и других бинарных арифметических операций), поэтому сначала значение переменной х приведется к целому типу (отбросится дробная часть), а затем выполнится деление по модулю.
Следующий фрагмент программы иллюстрирует одну из практических ситуаций, в которой потребовалось использовать преобразование типа:
float с;
int a=l, b-2;
с=(float)a/b;
В результате переменная с получит значение 0,5. Без преобразования типа ее значение стало бы равно 0.
Операция sizeof вычисляет размер своего операнда в байтах. Операнд должен быть или выражением, которое не вычисляется, или именем типа в скобках. Операцию sizeof нельзя применять к функции, битовому полю, неопределенному классу, типу void или к массиву с неуказанными границами индексов. Байт никак не определяется языком, кроме как результата операции sizeof, именно sizeof(char) есть 1.
Если операция применяется к ссылке, результатом будет размер объекта, на который настроена ссылка. Если она применяется к классу, результатом будет размер объекта этого класса в байтах с учетом всех дополнительных байтов, которые потребуется для размещения такого объекта в массиве. Размер любого класса или объекта класса больше нуля. В случае массива операция выдает полное число байтов в массиве. Отсюда следует, что размер массива из n элементов равен размеру элемента, умноженному на n.
Операция sizeof может применяться к указателю на функцию, но не к самой функции. Результатом операции будет константа типа size_t. Этот тип определен в стандартном заголовочном файле <stddef.h> и является зависящим от реализации беззнаковым целочисленным типом.
Эта операция имеет две формы записи:
sizeof(тип) и sizeof(выражение)
Результатом операции является целое число, равное количеству байтов, которое занимает в памяти величина явно указанного типа или величина, полученная в результате вычисления выражения. Последняя определяется также по типу результата выражения. Хотя по форме записи это похоже на функцию, однако sizeof является именно операцией. Ее приоритет выше, чем у бинарных арифметических операций, логических операций и отношений. Примеры использования операции:
sizeof (int) результат — 2
sizeof (1) результат — 2
sizeof (0.1) результат —- 8
sizeof (1L) результат — 4
sizeof (char) результат— 1
sizeof (' a') результат — 2
Эта необычная операция используется для связывания нескольких выражений в одно. Несколько выражений, разделенных запятыми, вычисляются последовательно слева направо. В качестве результата такого совмещенного выражения принимается значение самого правого выражения. Например, если переменная х имеет тип int, то значение выражения (Х=3, 5*Х) будет равно 15, а переменная х примет значение 3.
Операция «условие ?:».
Это единственная операция, которая имеет три операнда. Формат операции:
выражение1 ? выражение2 : выражениеЗ
Данная операция реализует
алгоритмическую структуру ветв
Пример 1. Вычисление абсолютной величины переменной X можно организовать с помощью одной операции: X;
Х<0 ? -X : X;
Пример 2. Выбор большего значения из двух переменных а и Ь:
max= (a<=b)?b:a;
Пример 3. Заменить большее значение из двух переменных а и b на единицу:
(a>b)?a:b=l;
Правила языка в данном случае позволяют ставить условную операцию слева от знака присваивания.
В заключение работы можно сделать следующие выводы:
1. Во всех языках программирования под выражением подразумевается конструкция, составленная из констант, переменных, знаков операций, функций, скобок. Выражение определяет порядок вычисления некоторого значения.
2. Арифметическим называется выражение, составленное из операндов арифметического типа и использующее только знаки арифметических операций и круглые скобки. Порядок вычисления определяется скобками и старшинством операций.
К арифметическим операциям относятся:
- вычитание или унарный минус;
+ сложение или унарный плюс;
* умножение;
/ деление;
% деление по модулю;
++ унарная
операция увеличения на
- - унарная операция уменьшения на единицу (декремент).
3. Операции отношения
выполняют сравнение двух
В С++ используется следующий набор операций отношения:
< меньше,
<= меньше или равно,
> больше,
>= больше или равно,
= = равно,
!= неравно.
4. Логические операции выполняются над логическими значениями ИСТИНА (true) и ЛОЖЬ (false). В языке С++ ложью является 0, а истина – любое значение, отличное от нуля. В С++ появился тип bool.
Три основные логические операции в языке С++ записываются следующим образом:
! операция отрицания (НЕ),
&& конъюнкция, логическое умножение (И),
| | дизъюнкция, логическое сложение (ИЛИ).
5. В С++ в отличие от других языков программирования операция присваивания может присутствовать в любом выражении, а не только в отдельном операторе. Знак операции присваивания =. В операторе присваивания слева всегда стоит имя переменной, а справа – значение, например:
a=b;
где a – имя переменной или элемента массива, b – значение как таковое, выражение, переменная, константа или функция.
Присваивание в С++ является операцией, а не оператором.
Применение этой операции имеет следующий формат:
(имя_типа) операнд
Операндом могут быть константа, переменная, выражение. В результате значение операнда преобразуется к указанному типу.
7. Операция sizeof вычисляет
размер своего операнда в
Эта необычная операция используется для связывания нескольких выражений в одно.
Операция «условие ?:».
Это единственная операция, которая имеет три операнда. Формат операции: выражение1 ? выражение2 : выражениеЗ
5. lib.ru/CPPHB/cpptut.txt - Бьерн Страуструп. Язык программирования С++