Управляющие структуры if
Рассмотрение принципов работы условных операторов if/else. Изучение результатов проверки условий. Общая форма записи оператора выбора switch. Программирование процесса сравнения элемента выражения с константами. Основные циклы операторов в языке C++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 17.03.2014 |
Размер файла | 17,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Управляющие структуры if
программирование оператор константа
Условные операторы if/else
Условный оператор if позволяет менять направление выполняемых программой действий в зависимости от результата проверки условия. Общая форма записи оператора if имеет следующий вид.
if(условие) {
блок_операторов_1
}
else {
блок_операторов_2
}
Если блок_операторов состоит только из одного оператора, в фигурных скобках необходимость отпадает. Оператор else необязателен.
В качестве элемента условие можно использовать любое выражение. Если это выражение имеет значение, оцениваемое как истинное (любое значение, отличное от нуля), будет выполнен блок_операторов_1; в противном случае будет выполнен блок_операторов_2, если таковой существует.
В следующем фрагменте программы проверяется, больше ли значение переменной х числа 10.
if(x > 10}
cout << "x больше 10.";
else
cout << "x меньше или равен 10.";
Оператор выбора switch
Оператор switch -- это С/С++-оператор многоканального ветвления. Он используется для организации работы программы по одному из нескольких направлений. Общая форма записи этого оператора имеет следующий вид.
switch (выражение) {
case константа_1:
последовательность_операторов_1;
break;
case константа_2:
последовательность_операторов_2;
break;
...
case константа_N:
последовательность_операторов_N;
break;
default: default-операторы;
}
Каждая последовательность операторов может состоять из одного или нескольких операторов. Раздел default необязателен. Как выражение, так и константы, расположенные после директив case, должны иметь целочисленный тип.
Работа оператора switch заключается в сравнении элемента выражение с константами. При обнаружении совпадения выполняется соответствующая последовательность операторов. Если в выполняемой последовательности операторов нет оператора break, программа перейдет к выполнению операторов, относящихся к следующей директиве case. Другими словами, начиная с точки совпадения элемента выражение и константы, выполнение операторов будет продолжаться до тех пор, пока либо не обнаружится оператор break, либо не закончится оператор switch. Если не обнаружится никакое совпадение, то при наличии директивы default будет выполняться последовательность операторов, относящаяся к этой директиве. В противном случае(при отсутствии директивы default) никакие действия выполнены не будут. В следующем примере анализируется и выполняется команда меню.
switch(ch) {
case 'e': enter();
break;
case '1' : list();
break;
case 's': sort();
break;
case 'q': exit(0);
break;
default:
cout << "Неизвестная команда!\n";
cout << "Попробуйте еще раз.\n";
}
Оператор default
Оператор default используется в операторе switch, чтобы сигнализировать о том, что, если в операторе switch не обнаружится ни одного совпадения, будет выполнен блок кода, помеченный ключевым словом default.
Оператор break
Оператор break используется для выхода из циклов do, for и while в обход обычного условия выхода из цикла. Оно также используется для выхода из блока оператора switch.
Ниже показан пример оператора break в цикле.
do {
х = getx();
if(x < 0) break; //выход из цикла, если значение х отрицательно
process(х);
} while(!done);
На этом работа цикла завершается, если значение переменной х оказалось отрицательным.
В операторе switch оператор break не позволяет программе выполнять набор операторов, относящихся к следующему оператору case.(За подробностями обращайтесь к разделу "switch", приведенному ниже в этой главе.)
Оператор break прекращает работу только тех циклов for, do(), while и оператора switch, которые его содержат. Он не прервет работу ни одного из вложенных циклов или операторов switch.
Оператор continue
Оператор continue используется для пропуска оставшихся операторов в теле цикла и передает управление на следующую итерацию, которая начинается с вычисления условного выражения. Например, следующий цикл whi 1е будет просто читать символы с клавиатуры до тех пор, пока не будет введена буква s.
while(ch = getchar()) {
if(ch != 's') continue; // читаем следующий символ
process(ch);
}
Обращение к функции process() не произойдет до тех пор, пока переменная ch не будет содержать символ s.
Оператор безусловного перехода goto
Оператор goto передает управление программой оператору, помеченному меткой, которая задана в операторе goto. Общая форма записи оператора goto имеет следующий вид.
Совет программисту
Хотя оператор goto как метод управления программой давно "впал в немилость", он порой оправдывает свое существование. Одним из таких особых случаев является выход из глубоко вложенной процедуры. Рассмотрим, например, следующий фрагмент программы.
int i, j, k;
int stop = 0;
for(i=0; i<100 && istop; i++) {
for(j=0; j<10 && istop; j+ + ) {
for(k=0; k<20; k++) {
// ...
if(something()) {
stop = 1;
break;
}
Переменная stop используется для отмены двух внешних циклов при условии возникновения некоторого программного события. Однако все же лучше достичь того же эффекта с помощью оператора goto.
for(i=0; i<100; i++) {
for(j=0; j<10; j + +) {
for(k=0; k<20; k++) {
// . ..
if(something()) {
goto done;
}
}
}
}
done: // ...
Как видите, используя оператор goto, можно обойтись без дополнительных затрат ресурсов, которые связаны с повторением проверки значения переменной stop в предыдущем варианте.
Несмотря на то что следует избегать использования оператора goto в качестве универсальной формы управления циклами, в особых случаях его все-таки можно применять с большим успехом.
Все метки должны оканчиваться двоеточием и не должны вступать в конфликт ни с какими ключевыми словами или именами функций. Кроме того, оператор goto может передавать управление только внутри текущей функции (не от одной функции к другой).
Цикл for
Цикл for позволяет выполнить автоматическую инициализацию и увеличение переменной счетчика. Общая форма записи такова.
Если блок операторов состоит только из одного оператора, в фигурных скобках необходимость отпадает.
Несмотря на то что цикл for допускает ряд отклонений, как правило, инициализация устанавливает переменную управления циклом равной ее начальному значению. Элемент условие обычно представляет собой оператор отношения, сравнивающий значение переменной цикла с ее конечным значением, а элемент инкремент увеличивает (или уменьшает) значение переменной цикла. Если условие дает ложное значение сразу после инициализации, тело цикла for ни разу не будет выполнено. При выполнении следующего оператора сообщение "Привет" будет выведено десять раз.
for(t=0; t<10; t + +) cout << "Привет\n";
Если блок_операторов цикла while состоит только из одного оператора, фигурные скобки можно опустить.
При выполнении цикла while сначала проверяется условие. Следовательно, если условие дает ложный результат при первой же проверке, тело цикла (блок_операторов) не выполняется ни разу.
Элемент условие может быть любым выражением.
Ниже приведен пример цикла while, который читает 100 символов и сохраняет их в массиве символов.
char s[256];
t = 0;
while(t<100) {
s[t] = stream.get();
}
Цикл do. Общая форма записи цикла do имеет такой вид.
do {
блок_операторов
} while(условие);
Если при выполнении цикла повторяется только один оператор, то фигурные скобки можно опустить, хотя они вносят в этот оператор определенную ясность.
Цикл do -- это единственный цикл в языке C++, который будет всегда иметь по крайней мере одну итерацию, поскольку условие проверяется после выполнения тела цикла.
Размещено на Allbest.ru
Подобные документы
Ознакомление с формой записи и работой операторов условного if (если) и безусловного а goto (идти к) переходов как способами организации ветвления в программе. Изучение оператора выбора альтернативы - switch (переключатель). Использование функции default.
лабораторная работа [72,0 K], добавлен 15.07.2010Изучение приемов использования операторов ветвления и операторов циклов в С. Управляющие структуры или операторы управления: их значение для управления последовательностью вычислений в программе. Блоки и составные операторы. Универсальный оператор цикла.
лабораторная работа [17,7 K], добавлен 06.08.2010Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.
лабораторная работа [474,2 K], добавлен 23.11.2014Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.
реферат [64,0 K], добавлен 20.03.2016Программа на языке Си как набор операторов разделенных между собой точкой с запятой, знакомство с особенностями структуры, назначение. Общая характеристика линейных и циклических вычислительных процессов. Рассмотрение основных видов операторов цикла.
презентация [139,7 K], добавлен 26.07.2013Характерные черты программирования на алгоритмическом языке СИ (алфавит, операции, специфика операторов, комментарии и другие элементы). Аналитический обзор и рассмотрение примеров программ, иллюстрирующих особенности применения основных операторов СИ.
презентация [251,0 K], добавлен 26.07.2013Разработка программ с использованием оператора выбора Switch. Программирование компьютерной игры в карты. Составление программы, которая по введенным значениям и номеру действия выполняет действия над числами. Тестирование работоспособности программы.
лабораторная работа [1,2 M], добавлен 23.11.2014Программирование вычислительных процессов на языке FORTRAN для обеспечения взаимодействия системы "Человек-Производство-Природа". Использование массивов для составления циклов подсчета уровня экологического загрязнения, затрат на переработку отходов.
курсовая работа [2,0 M], добавлен 30.05.2014Понятие и назначение условных операторов, их функциональные особенности и характерные свойства. Разновидности и отличия циклов. Прерывание фрагмента программы с циклом с использованием оператора break. Компоненты для отображения и редактирования текста.
контрольная работа [13,2 K], добавлен 02.05.2012Характеристика алгоритма, его свойств, способов записи. Особенности, типовые примеры линейной алгоритмической структуры. Анализ разветвляющей алгоритмической структуры. Изучение основных операторов циклов. Эволюция, классификация языков программирования.
контрольная работа [492,2 K], добавлен 15.02.2010