Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование.doc
Скачиваний:
8
Добавлен:
02.02.2015
Размер:
188.42 Кб
Скачать

Переменные, операции, выражения

Переменная – адрес ячейки памяти.

Переменная имеет имя, тип и значение.

Формат описания переменной:

[класс памяти][const] тип имя переменной [инициализатор]

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

При описании переменной ей можно присвоить значение. Это действие называется инициализацией и имеет два формата:

  • тип имя = значение (int x = 1;);

  • тип имя(значение) (int x(1)).

Константа ОБЯЗАТЕЛЬНО должна быть проинициализирована при описании. В одном операторе через запятую может присутствовать описание нескольких переменных:

int x = 1, y = 2, z = 3;

Область действия идентификатора – та часть программы, в которой его можно использовать для доступа к связанной с ним переменной.

По области действия переменные бывают:

  • локальные (переменные, описанные внутри некоторого блока);

  • глобальные (определяются вне всех блоков).

Область действия локальных переменных – от точки описания до конца блока; глобальных – от точки описания до конца файла, в котором они записаны.

Время жизни переменной может быть:

  • постоянным (т.е. время действия всей программы);

  • временным (т.е. на время выполнения какого – то блока).

Базовые алгоритмические конструкции

В С++ все операторы могут быть поделены на:

  • операторы для работы с данными (состоят из арифметических, ввода – вывода, пересылка данных и т.д.);

  • операторы, управляющие последовательностью выполнения программы.

По набору команд управления, которые используются в программе, их можно условно разделить на три класса:

  • линейные (не используют команды управления);

  • ветвящиеся (if, switch, тернарная);

  • циклические.

(доделать!!!)

Если некоторая переменная используется только внутри условного оператора, то её можно описать прямо внутри скобок. Тогда областью её видения будут обе ветви оператора if.

if (int i = f(5))

a = i * i;

else

a = i * i * i;

Оператор множественного выбора switch

В случае наличия более двух альтернатив часто бывает удобно использовать оператор switch.

Формат:

switch (выражение) {

case const_1: [оператор 1];

case const_2: [оператор 2];

case const_n: [оператор n];

[default: оператор;]

}

→ выражение → case 1 → on 1 //зайдя в case k выполняем от k и до конца оператора

↓ ↓

case 2 → on 2

↓ ↓

case n → on n

↓ ↓

default → оператор

int a = 2;

switch (a) {

case 1: out << “case 1\n’ ”;

case 2: out << “case 2\n’ ”;

case 3: out << “case 3\n’ ”;

}

Для вывода именно case k в конце оператора ставится break:

case 1: out << “case 1\n’ ”; break;

Для обеспечения реакции на неперечисленные значения существует вариант default, который выполняется в случае несовпадения значения выражения ни с одним из case k.

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

Задание: вычислить y = |x|.

y = (x >= 0) & x : (-x) – полный аналог if.

24.09.2012

Циклические алгоритмы

Циклические алгоритмы – те, в которых работа программы идёт не только вперёд, но и назад. Бывают трёх типов:

  • цикл с предусловием;

  • цикл с постусловием;

  • цикл с параметром.

(доделать!!!)

s = 0;

for (int i = 1; i <= 10; i++)

s += i; // s = s + i;

Для "нештатного" выхода из цикла используется оператор break. Он передаёт управление на первую строчку за циклом.

while (1)

{

.. break;

}

Операция continue передаёт управление на начало цикла.

Итерация – виток цикла.

Операция goto label передаёт управление на строчку, помеченную label.

d = b * b – 4 * a * c;

if (d >= 0) goto L1;

if (d < 0) goto L2;

L1: x1=…

x2=…

goto L3

L2: out << “No sol”;

goto L4;

L3: out << x1 << “ “ << x2;

L4: }

Операция return – операция завершения функции.