Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С_глава1.doc
Скачиваний:
0
Добавлен:
16.12.2018
Размер:
548.86 Кб
Скачать

Занятие 2. Операторы выбора.

Теоретическая часть

Выражения, операции

Выражение представляет собой комбинацию знаков операций и операндов (операнд – это то, над чем выполняется операция). При выполнении операций производится автоматическое преобразование типов, чтобы привести операнды выражений к общему типу. Если операция выполняется над данными двух различных типов, обе величины приводятся к «высшему» из двух типов. Последовательность имен типов от «высшего» к «низшему» выглядит так: double, float, long, int, short и char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком. В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Когда выражение содержит более, чем одну операцию, порядок их выполнения определяется приоритетом операции. Выражения с наивысшим приоритетом вычисляются первыми. Последовательность основных операций, расположенных в порядке убывания их приоритетов, выглядит так: умножение, деление и деление по модулю имеют более высокий приоритет, чем сложение и вычитание, затем идут логическое И и логическое ИЛИ.

Пример приведения значения выражения в правой части к типу присваиваемой переменной.

int a;

double b=5.7;

a=b; // В результате переменная a получит значение 5

Лучше всего избегать преобразования типов, особенно в сторону понижения ранга. Но существует способ явного преобразования типов с помощью операции приведения. Скобки и имя типа вместе образуют операцию приведения, например, (int) a (приведение переменной ‘а’ к целому типу).

Пример преобразования типа переменной с помощью операции приведения.

int a;

a=1.6+1.8; // a получает значение 3

a=int(1.6)+int(1.8); // a получает значение 2

Пример использования операции sizeof(), определяющей размер памяти, соответствующей идентификатору или типу.

int i,j;

float a;

i=sizeof(double); // Переменной i присваивается целое число, равное размеру памяти в бай- // тах, выделяемой для переменных типа double

j= sizeof(a); // Переменной j присваивается целое число, равное размеру памяти, вы- // деляемой для переменной a

Логические операции

К логическим операциям относятся:

операция логического И(&&) -

вырабатывает значение 1, если оба операнда имеют ненулевое значение,

вырабатывает значение 0, если один или оба операнда равны 0;

операция логического ИЛИ(||) -

вырабатывает значение 1, если один или оба операнда имеют ненулевое значение, вырабатывает значение 0, если оба операнда равны нулю;

операция логического отрицания ! -

вырабатывает значение 1, если операнд равен нулю,

вырабатывает значение 0, если операнд имеет ненулевое значение.

Операнды логических выражений вычисляются слева направо. Результатом логической операции является ноль или единица. Тип результата int.

Примеры использования логических операций при вычислении логических выражений.

1) 5<9 && 3<3.5 Значение выражения равно 1

2) 5<9 && 3<2 Значение выражения равно 0

3) 5<9 || 3<3.5 Значение выражения равно 1

4) 5<9 || 3<2 Значение выражения равно 1

5) !5 Значение выражения равно 0

6) !(5<1) Значение выражения равно 1