Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Cpp.doc
Скачиваний:
6
Добавлен:
20.11.2019
Размер:
603.14 Кб
Скачать

Int rand(void); // функция используется без аргумента

Для использования этой функции необходимо подключить заголовочный файл stdlib.h.

Контрольные вопросы. А.

Глава 2. Операторы и выражения.

Любое выражение может быть преобразовано к оператору, добавлением к нему точки с запятой. ; ‑ пустой оператор.

2.1. Логические выражения и операторы

В С++ определены следующие операции сравнения:

< (меньше), > (больше), <= (меньше или равно), >= (больше или равно);

и логические операторы: || (или), && (и), !(не), = = (логическое равенство), а также их комбинации: != (не равно).

Примеры:

a==b; // не напишите a=b. Типичная ошибка!

a!=b;

a>3 && a<10; // a>3 и a<10

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

Логические операции используются в операторах ветвления, без применения которых невозможно организовать эффективное выполнение программы. Язык C++ использует два типа операторов ветвления – это if ( или if-else) и switch-case.

2.1.1. Оператор if else

Оператор if-else имеют следующий синтаксис:

If (условие)

оператор1;

else

оператор2;

Если условие истинно, (т.е. отлично от 0), то выполняется оператор1; иначе выполняется оператор2.

// пример:

if(a != 0) // если a не равно нулю

c=b/a; // выполняем какие-то действия...

else // иначе:

cout<<”error!”;// выводим сообщение об ошибке

Возможна более простая конструкция оператора, без else:

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”;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]