Конструкция if – else

 

Составной оператор if – else используется для разветвления хода вычислений в зависимости от условия; поэтому он называется условным.

Синтаксис оператора:

 

If (условие)

Оператор 1

Else

Оператор 2

В качестве условия может быть выражение, переменная, но чаще всего оно содержит операторы сравнения. Если выражение истинно (т.е. отлично от нуля), то выполняется оператор 1. Если выражение ложно, (т.е. его значение равно нулю), то выполняется оператор 2.

Пример.

 

#include<iostream >

Int main()

{

int a,b;

int x,y;

сout << ”Insert  a,  b” << ”\n”;                      

сin >> a >> b;                                      

if (a>b)

     x=а + b;

else

      x= a – b;

y = 25 + x;

сout << y;

return 0;

}

 

В этом примере вводятся с клавиатуры два целых числа. Затем выполняется операция сравнения a>b. Если условие истинно, то выполняется сложение а + b и результат присваивается переменной х. После чего ветка else пропускается и выполняется оператор y = 25 + x.  Если же условие не выполняется, то переменной х присваивается разность a – b и, далее, выполняется оператор y = 25 + x.  В заключении значение y выводится на экран. Если введенные значения: a=10, b=5, то в результате выполнения программы на экран будет выведено число 40.

 

Конструкция  if

В языке программирования С++ существует сокращенная форма условного оператора, в котором отсутствует else – часть. Конструкция в этом случае примет вид:

 

If (условие)        

Оператор 1

Оператор 2  

Порядок выполнения оператора следующий: если условие истинно, то выполняются оператор 1 и оператор 2. Если – ложно, то оператор 1 пропускается и выполняется оператор, следующий за оператором 2.

Рассмотрим несколько измененный предыдущий пример, в котором отсутствует ключевое слово else.

 

#include<iostream >

Int main()

{

int a,b;

int x,y;

сout << ”Insert  a,  b” << ”\n”;                      

сin >> a >> b;                                      

if (a>b)

     {

       x=а + b;

       сout <<x;

      }

       x= a – b;

y = 25 + x;

сout << y;

return 0;

}

 

Если введенные значения, как и в предыдущем примере: a=10, b=5, то условие a>b будет истинно и переменной х присвоится сумма а + b, которая затем выведется на экран (х=15). Затем будет выполнен следующий оператор x= a – b, и переменная х получит новое значение, равное 5. В результате переменная у примет значение 30.

 

Переключатель switch

 

Условный оператор if – else разветвляет выполнение программы на два направления. Чтобы увеличить их количество используется переключатель switch. C помощью оператора switch осуществляется многоальтернативный выбор. Его синтаксис:

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

         {

            case константа1: операторы;

  case константа2: операторы;

  .......

 default: операторы;

}

Выполнение оператора начинается с определения значения выражения. После чего вычисления внутри оператора switch начинаются с той строки case, в которой константа совпадает со значением выражения, и далее выполняется оставшиеся case – строки. Если ни одна из констант не подходит, то выполняется строчка default.

Необходимо помнить, что выражение в операторе switch может иметь тип только int или char. Рассмотрим пример.

 

#include<iostream >

Int main()

{

int a;

сout <<”Insert numeral (0 - 7)”; 

сin >> a;

switch (a)         

{

case 1: сout << ” One ”;  break;

case 2: сout << ” Two ”; break;

case 3: сout << “Three ”;   break;

case 4: сout << ” Four ”; break;

case 5: сout << ” Five “; break;

case 6: сout << ”  Six ”; break;

case 7: сout << ”Seven ”;   break;

default: cout << “ Error of enter ”;

 }

return 0;

}

 

Пример демонстрирует перевод цифр в их словесный эквивалент. Переменной а с клавиатуры присваивается целочисленное значение. В операторе switch анализируется содержание переменной а. Допустим её значение равно 4. Тогда будет выполнена строка:

case 4: сout << ” Four ”; break;

на экран будет выведено слово Four. Оператор break (который будет рассмотрен ниже)в конце строки означает немедленный выход из оператора switch.

Циклы

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

Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием),

либо после тела цикла (цикл с постусловием). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу.

Переменные, изменяющиеся в теле цикла и используемые при проверке условия продолжения, называются параметрами цикла. Целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации, называются счетчиками цикла.

Начальные установки могут явно не присутствовать в программе, их смысл состоит в том, чтобы до входа в цикл задать значения переменным, которые в нем используются.

Цикл for

 

В цикле for используется следующий синтаксис:

 

For (выражение1; выражение2; выражение3)

{

Тело цикла                     // операторы

}

Выражение1 – инициализация (присваивания начального значения параметру цикла);

Выражение2 – проверка условия выполнения цикла; если оно истинно, то выполняется тело цикла;

Выражение3 – изменение параметра цикла (шаг цикла).

С точки зрения грамматики все три компоненты цикла for представляют собой произвольные выражения.

Рассмотрим пример вычисления суммы чисел от 20 до 50.

 

#include<iostream >

Int main()

{

int i;

int s=0;

for (i = 20;  i < = 50;  i ++)      

s = s + i;                       

        cout <<”Sum = “ << s;

return 0;

}

В данном примере после выполнения первого шага сумма будет равна 20. После этого i увеличится на 1 и станет равным 21. На втором шаге сумма примет значение 41(20+21). Вновь i увеличится на 1, и т. д. до тех пор, пока i не примет значение 51. В этом случае условие продолжения цикла перестанет выполняться (i < = 50) и произойдет выход из цикла.

В примере тело цикла состоит из одного оператора, поэтому фигурными скобками не обрамляется.

 

Цикл while

Цикл while как и цикл for являются циклами с предусловием. Цикл while имеет следующий синтаксис:

While (выражение)

    {

              тело цикла                                        

}                                                          

 

Циклическая процедура выполняется следующим образом. Проверяется выражение на истинность и если это так, - выполняется тело цикла. Затем снова проверяется условие истинности и, в случае соответствия, опять выполняется тело цикла. Когда условие становиться ложным, то цикл завершается и вычисления продолжаются с оператора, следующего за телом цикла (после скобки “}”).

Реализуем предыдущий пример, используя вместо цикла for цикл while.

 

#include<iostream >

Int main()

{

int i=20;

int s=0;

         while (i < = 50)                     

{                                            

S = S + i;

i ++;

 }

                           

        cout <<”Sum = “ << s;

return 0;

}

 

При использовании цикла while внимания требует параметр цикла, который необходимо проинициализировать перед использованием и изменять в теле цикла.

Конструкция do-while

 

Конструкция do-while описывает циклы с постусловием. Сначала выполняется тело цикла (хотя бы один раз), а затем проверяется условие. Синтаксис оператора:

 

do

{

Тело цикла

}

while (выражение);

Здесь тоже используется ключевое слово while, но оно в отличие от предыдущей конструкции заканчивает описание цикла и после него обязательно ставится точка с запятой (чего нет в цикле while).

Рассмотрим пример вычисления произведения чисел от 5 до15.

 

#include<iostream >

Int main()

{

int m=1;   // начальное значение произведения = 1

int k=5; //  начальное значение параметра цикла

         do

            {

              m = m * k;

              k++;         //  изменение параметра цикла

             }

          while (k<=15);   //  условие выполнения цикла              

        cout << m;

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: