- •Введение.
- •Переменные, основные типы и операции над ними. Ввод/вывод.
- •Управление выводом информации на экран
- •Операторы ветвления
- •Условный оператор if
- •Оператор Switch.
- •Операторы цикла
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Цикл с параметром (for)
- •Операторы передачи управления
- •Оператор goto
- •Оператор break
- •Оператор continue
- •Оператор return
- •Случайные числа
- •Вложенные циклы.
- •Массивы
- •Указатели.
- •Динамические массивы
- •Многомерные массивы
- •Строки
- •Типы пользователя
- •Перечисления (enum)
- •Функции
- •Приложение
- •Рекомендуемая литература.
Одесский колледж компьютерных технологий "СЕРВЕР"
k = a + b;
metka: int m = k + 1; ...
}
После выполнения этого фрагмента программы значение переменной m не определено.
Использование оператора goto оправдано только в двух случаях:
•принудительный выход вниз по тексту программы из нескольких вложенных циклов или переключателей;
•переход из нескольких мест функции в одно (например, если перед выходом из функции необходимо всегда выполнять какие-либо действия).
Востальных случаях для записи любого алгоритма существуют более подходящие средства, а использование goto приводит только к усложнению структуры программы и затруднению отладки. Применение goto нарушает принципы структурного и модульного программирования, по которым все блоки, из которых состоит программа, должны иметь только один вход и один выход.
Оператор break
Оператор break используется внутри операторов цикла, if или switch для обеспечения перехода в точку программы, находящуюся непосредственно за оператором, внутри которого находится break.
Оператор continue
Оператор перехода к следующей итерации цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации.
Оператор return
Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Вид оператора:
return [ выражение ];
Выражение должно иметь скалярный тип. Если тип возвращаемого функцией значения описан как void, выражение должно отсутствовать.
Случайные числа
Обе функции описаны в заголовочном файле: <stdlib.h> random (x);
Возвращает случайное целое число в диапазоне от о до x. Передпервым обращениемкфункцииrandom необходимо инициализировать генератор случайных чисел. Для этого надо вызвать функцию randomize().
randomize( x);
24
Одесский колледж компьютерных технологий "СЕРВЕР"
Инициализирует генератор случайных чисел. Использует функцию времени, описаннуювзаголовочномфайле<time.h> (еготоженужноподключить)
Вложенные циклы.
Все слышали вальс. Его ритм: раз-два-три, раз-два-три, раз-два-три и так далее. Налицо цикл (раз-два-три), который повторяется определенное число раз, то есть опять в цикле. Такая конструкция называется вложенным
циклом.
Пример: |
|
for(int n=0;n<3;n++){ |
//наружный цикл |
for(int m=0;m<5;m++){ |
//вложенный цикл |
cout << m; |
//тело вложенного цикла |
}//конец вложенного цикла
cout <<n; |
//вывод именно этого оператора отмечен жирным ниже. |
} |
//конец наружного цикла |
При выполнении этого куска программы на экране появится следующее: 012340012341012342
Выделенные жирным шрифтом цифры – содержимое n. Посмотрим, как это работает.
1.Наружный цикл n начался. Объявилась переменная n, в нее попало значение 0. Затем, после проверки условия на истинность, управление перешло к телу цикла.
2.Здесь начинается внутренний цикл m. С ним произошло все то же самое. Управление перешло к телу цикла m.
3.Оператор cout выводит на экран содержимое переменной m, затем управление возвращается в начало цикла и здесь m возрастает. Это происходит до тех пор, пока m не перестанет удовлетворять условию (m<5).
4.Затем происходит выход из цикла m. На экран выводится содержимое n.
5.Начинается следующий проход n. n возрастает, и все с п. 2 повторяется, пока n не перестает удовлетворять условию (n<3)
Какие из этого следуют выводы?
1.Цикл m весь выполняется столько раз, сколько итераций совершает цикл n.
2.Цикл m каждый раз начинается сначала.
Это простая, но незаменимая конструкция. С помощью вложенного цикла, например, происходит очистка экрана. То есть, один цикл очищает строку по одной точке, а другой – весь экран по одной строке. Цикл, который рисует строку, вложен в него.
25
