Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c++ / L_3.doc
Скачиваний:
105
Добавлен:
02.04.2015
Размер:
70.14 Кб
Скачать

Операция с тремя операндами (Условная операция)

(Выражение-операнд1) ? (Выражение-операнд2) : (Выражение-операнд3)

  • Выполнение условной операции начинается с вычисления значения Выражения –операнда1.

  • Если его значение оказывается отличным от 0, то вычисляется значение Выражение –операнд2, которое и становится значением выражения.

  • Если значение первого операнда оказывается равным 0, то вычисляется значение третьего операнда, и тогда это значение становится значением выражения.

float y;

float x=12;

y=(x<10)? x: (x+10); // Результат y=22

1оп 2 оп 3оп

Структура множественного выбора switch

Используется для организации работы программы по одному из нескольких

направлений. Общая форма записи этого оператора имеет следующий вид:

switch (выражение) // выражение должно быть целочисленным или символьным

{

case const_1: группа_операторов_1; //соnst_1,const_2 – тот же тип, что и выражение

break;

case const_2: группа_операторов_2;

break;

.....................

case const_N: группа_операторов_N;

break;

default:

default-операторы;// не обязательно

}

  • Каждая последовательность операторов может состоять из одного или

нескольких операторов.

  • Раздел default необязателен.

  • Работа оператора switch заключается в сравнении элемента выражения с константами. При обнаружении совпадения выполняется соответствующая последовательность операторов

  • Каждая метка case действует только как метка строки и не является разграничителем между вариантами.

  • Оператор break завершает выполнение кода.

  • Если в выполняемой последовательности операторов нет оператора break, программа перейдет к выполнению операторов, относящихся к следующей директиве case.

  • Если не обнаружится никакое совпадение, то при наличии директивы default будет выполняться последовательность операторов, относящаяся к этой директиве. В противном случае (при отсутствии директивы default) никакие действия выполнены не будут. В следующем примере анализируется и выполняется команда меню:

switch(ch) {

case 'e': сase 'E': { enter(); break;}

case 'l': case 'L': {list(); break;}

case 's': case 'S': {sort(); break;}

case 'q': case 'Q': {exit(0); break;}

default : printf("Неизвестная команда!\n");

}

В теле оператора switch можно использовать вложенные операторы switch, при этом в ключевых словах case можно использовать одинаковые константные выражения.

Пример:

:

switch (a)

{

case 1: b=c; break;

case 2:

switch (d)

{ case 0: f=s; break;

case 1: f=9; break;

case 2: f-=9; break;

}

case 3: b-=c; break;

}

ЦИКЛЫ

Структура повторения for

Цикл for обеспечивает циклическое повторение некоторого оператора или группы операторов заданное число раз. Это наиболее общий способ организации цикла.

Общая форма записи такова:

for (инициализация счетчика; условие; инкремент)

{

блок_операторов; //тело цикла

}

Инициализация

счетчика

Устанавливает переменную управления циклом (счётчик) равной ее начальному значению

Условие

Оператор отношения, сравнивающий значение переменной цикла с ее конечным

значением

Инкремент

Инкрементирует (или декрементирует) значение

переменной цикла

Под инкрементом (++) понимается операция увеличения счётчика на 1.

Под декрементом (--) понимается операция уменьшения счётчика на 1.

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

  • Проверяется условие продолжения цикла

  • Если условие истинно (ненулевое значение), то выполняется тело цикла

  • После завершения тела цикла выполняется изменение переменной цикла (инкремент/ декремент)

  • Проверяется условие продолжения цикла

  • …..

  • Если условие возвращает false (нулевое значение) – цикл прерывается и управление передается оператору, расположенному за структурой for.

  • Если условие дает ложное значение (0) сразу после

инициализации, тело цикла for ни разу не будет выполнено.

Соседние файлы в папке c++