Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4-С++-13 марта-2012 - копия.doc
Скачиваний:
11
Добавлен:
15.09.2019
Размер:
2.55 Mб
Скачать

Кузнецов Л.К.

Министерство финансов Российской Федерации

Всероссийская государственная налоговая академия

Информатика и программирование

Бакалавры: 230700 "Прикладная информатика"

Язык программирования С++

Лабораторная работа № 04

ПРОСТЕЙШИЕ КОНСТРУКЦИИ АЛГОРИТМИЧЕСКОГО ЯЗЫКА С++

Автор профессор кафедры "Прикладной информатики в экономике"

кандидат технических наук Л.К. Кузнецов

13 марта 2012 г.

Москва

ВГНА

2012

Лабораторная работа № 04

Простейшие конструкции алгоритмического языка С++

Цель работы:

  • ознакомиться с операциями языка С++;

  • ознакомиться с приоритетом выполнения операций в языке С++;

  • ознакомиться с операциями инкремента и декремента;

  • ознакомиться с преобразованием типов;

  • ознакомиться с правилами записи выражений;

  • ознакомиться выражениями:

  • ознакомиться перечислениями;

  • ознакомиться с константами;

  • научиться управлять порядком, в котором C++ выполняет операции;

  • научиться объявлять переменные в программах на языке С++;

  • научиться правильно выбирать имена переменных;

  • научиться составлять таблицу идентифика­торов;

  • научиться присваивать значения переменной;

  • научиться присваивать значения при объявлении;

  • изучить список ключевых слов языка С++.

 В ходе этой лабораторной работы студенту предлагается выполнить ряд действий, которые должны выработать практические навыки: по программированию алгебраических выражений с использованием математических функций библиотеки языка C++; по выбору имен переменных; по записи констант; по объявлению переменных.

Для успешной защиты лабораторной работы студент должен выполнить задания и ответить на вопросы для самоконтроля, приведенные в данной лабораторной работе.

1. Краткие теоретические сведения

1.1. Операции

Операции осуществляют пересылку и преобразование данных в программах. Обозначаются операции одним или несколькими символами, например +, -, >> и т.д. Данные, участвующие в операции, называются операндами. В качестве операндов могут использоваться переменные, константы, выражения.

Над числовыми данными определены следующие группы операций (рис. 4.1).

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

Унарные операции (один операнд) выполняются справа налево. Некоторые унарные операции приведены в табл. 4.1.

Операции над числовыми данными в С++

1

2

3

4

5

6

Арифмети­ческие

операции

Операция

присва­ивания

Операции отношения

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

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

Операция приведения к типу

Рис. 4.1. Операции над числовыми данными

Таблица 4.1

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

Знак

операции

Операция

Описание

-

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

~

Побитовое логическое отрицание

!

Логическое отрицание

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

+

Унарный плюс

++

Увеличение (инкремент) на единицу

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

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

--

Уменьшение (декремент) единицу

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

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

sizeof

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

&

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

*

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

new

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

Динамическое распределение памяти.

delete

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

Динамическое распределение памяти.

(type)

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

В отличие от унарных, бинарные операции (два операнда), список которых приведен в табл. 4.2, выполняются слева направо.

Таблица 4.2

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

Знак

операции

Операция

Группа операций

Описание

*

Умножение

Арифметические

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

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

/

Деление

деление операндов арифметического типа (если операнды целочисленные, то выполняется целочисленное деление)

%

Остаток от деления

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

+

Сложение

Арифметические

аддитивные

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

-

Вычитание

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

<<

Сдвиг влево

Операции сдвига

>>

Сдвиг вправо

<

Меньше

Операции отношения

меньше, чем

>

больше

больше

<=

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

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

>=

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

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

= =

Равно

Равно???

!=

Не равно

не равно

&

Битовая операция И

Битовые (поразрядные) операции

|

Поразрядное ИЛИ

^

Поразрядное исключающее ИЛИ

&&

Логическое И

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

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

||

Логическое ИЛИ

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

,

Последовательное вычисление

Последовательного вычисления

=

Присваивание

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

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

*=

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

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

/=

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

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

%=

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

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

-=

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

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

+=

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

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

<<=

Сдвиг влево с присваиванием

>>=

Сдвиг вправо присваиванием

&=

Поразрядное И с присваиванием

|=

Поразрядное ИЛИ с присваиванием

^=

Поразрядное исключающее ИЛИ с присваиванием

Тернарной операцией (три операнда) является операция «условие ?», которая реализует алгоритмическую структуру ветвления (не рассматривается в рамках лабораторного практикума).

Таблица 4.3

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

Знак

операции

Операция

Описание

?:

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

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

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

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

Например:

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