logo search
Posobie_Cpp

If (условие)

оператор1;

оператор2;

В этом случае, если условие ложно, сразу выполняется следующий за if оператор2.

// пример

if(chSym != 'y') return; // если chSym не равно ‘y’, то выполняем

// оператор return

При помощи фигурных скобок можно объединить выполнение нескольких операторов:

// пример:

if(var1 == 0 && var2 > 0) // если var1 равно нулю И var2 больше нуля, то:

{

var1=10;

var2=var1/2;

cout<<var2; // выполняем какие-то действия...

}

else

{

var1=1;

var2=1; // выполняем другие действия...

}

Как уже упоминалось, операция сравнения возвращает значение 1 или 0, что в С++ соответствует значению истина или ложь. Поэтому первый пример можно переписать эквивалентным, хотя и менее наглядным способом:

if( !var1 && var2>0) // если var1 равно нулю И var2 больше нуля, то:

{

… // выполняем какие-то действия...

}

else{ // иначе:

… // выполняем другие действия...

}

Иногда логические условия требуются составить из нескольких частей. Например, определить делится ли введенное число на 3 и лежит в диапазоне от 10 до 100:

int i;

cin>>i; //ввод значения с клавиатуры

if (((i>= 10) && (i<= 100))&&(i%3==0))

cout<<i<<endl;

else

cout<<”error”;

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