- •Обзорные лекции по курсу
- •Арифметические операции
- •Int main()
- •Int main ()
- •Логические операции
- •Операторы сравнения
- •Int main ()
- •If(проверяемое_условие)
- •Int main ()
- •Int main()
- •If(проверяемое_условие)
- •Int main()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main()
- •Int.Main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main()
- •If(проверяемое_условие)
- •Int main ()
- •If(проверяемое_условие)
- •If(проверяемое_условие)
Int main ()
{
int counter = 4;
short dec;
while(1)// Бесконечный цикл
{
cout « "Введите десятичное число ";
cout « "от 0 до 15: " ;
cin » dec;
cout « "Двоичное представление";
cout « " числа" « dec « ": ";
while(counter)
{
if(dec & 8)
cout « 1;
else
cout « 0;
dec = dec « 1;
counter--;
}
cout « ' \n';
counter = 4;
}
return 0;
}
В приведенном примере вводится десятичное число dec, и далее в цикле while осуществляется проверка четвертого бита (число от 0 до 15 может быть закодировано четырьмя битами). Если бит установлен (равен единице), на экран выводится единица, а если он находится в сброшенном состоянии - выводится ноль.
Циклы do-while
В отличие от оператора while, цикл do-while сначала выполняет тело (оператор или блок), а затем уже осуществляет проверку выражения на истинность. Такая конструкция гарантирует, что тело цикла будет обязательно выполнено хотя бы один раз.
Синтаксис оператора имеет вид:
do
оператор_или_блок_операторов ; // тело цикла
while(выражение)
Одно из часто используемых применений данного оператора - запрос к пользователю на продолжение выполнения программы:
#include <iostream.h>
Int main ()
{
char answer;
do
{
// Тело программы
...
cout « "Продолжать выполнение?";
cin » answer;
}
while(answer != 'N')
return 0;
}
Таким образом, тело программы будет повторяться до тех пор, пока пользователь на вопрос "Продолжать выполнение?" не ответит символом ' N'. При этом, в качестве переменной, используемой для хранения этого значения, выступает answer.
Оператор break
Если нужно предусмотреть выход из оператора цикла в нескольких местах, не дожидаясь выполнения оставшейся части кода, то это можно сделать с помощью оператора break. Данный оператор может встречаться в теле цикла сколько угодно раз и, как и в случае switch-case, передает управление вне тела конструкции.
В приведенном ниже примере пользователю предлагается ввести число, которое в дальнейшем тестируется на попадание в один из трех диапазонов. На самом деле, если введенное число больше трех, происходит выход из тела цикла while и запрос на ввод числа повторяется.
#include <iostream.h>
Int main ()
{
int answer = 0;
do
{
while(answer)
{
if(answer <= 3)
cout«" Меньше 3-x\n";
break;
// Выход из цикла while
// В этот фрагмент кода никогда не попадем
if(answer > '3' && answer < '7')
cout«"От 3-х до 7-ми\n";
break;
if(answer >= '7')
cout«"Больше 7-ми\n";
}
// В этот фрагмент кода попадаем по
break cout « "Repeat?\n";
cin » answer;
}
while(answer != 0);
return 0;
На практике оператор break часто используют для выхода из бесконечного цикла.
for( ; ; )
{
// Условие 1:
if(...)
{
...
break;
}
// Условие 2
if (...)
{
……
break;
}
}
В данном примере, если выполнится любой из условных операторов if, будет достигнут и соответствующий оператор break, который выведет управление из тела конструкции бесконечного цикла for.
Оператор continue
Так же, как и ключевое слово break, оператор continue прерывает выполнение тела цикла, но в отличие от первого, он предписывает программе перейти на следующую итерацию цикла.
В качестве примера использования оператора continue предлагается программа нахождения простых чисел (делящихся на 1 и на самих себя).
#include <iostream.h>