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

11. Операции и выражения в Си

Выражения в языке Си – это последовательность операндов, операций и символов-разделителей. Операнды – это переменные, константы либо другие выражения. По числу операндов, участвующих в операции, различают две группы операций: унарные (один операнд) и бинарные (два операнда). По типу выполняемой операции различают арифметические, поразрядные логические, сдвига, логические, операции отношения и др.

Арифметические операции. Язык Си включает стандартный набор арифметических операций сложения (+), вычитания (-), умножения (*) и деления (/), не требующих особого пояснения. Специфичными для Си являются операции определения остатка (%), инкремента (++) и декремента (--).

Поразрядные логические операции. В Си используются:

& - поразрядное логическое И (AND);

| - поразрядное логическое ИЛИ (OR);

^ - поразрядное исключающее ИЛИ (XOR);

~ - поразрядная инверсия.

Операции сдвига. Си имеет две операции поразрядного сдвига:

<< - сдвиг операнда влево на число двоичных разрядов, указанное справа от знака операции;

>> - сдвиг операнда вправо на число двоичных разрядов, указанное справа от знака операции.

Логические операции и операции отношения. Эти операции используются для формирования логических выражений, имеющих только два значения: 1, если логическое выражение ИСТИННО (по англ. TRUE), и 0, если логическое выражение ЛОЖНО (по англ. FALSE). Следует отметить, что в языке Си нет логических данных (boolean).

Операции отношения обозначаются следующим образом:

== равно; != не равно; < меньше; > больше; <= меньше или равно; >= больше или равно.

Логические операции обозначаются:

&& - логическое И;

| | - логическое ИЛИ;

! – логическое НЕ.

12.Операторы управления вычислительным процессом

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

Операторы ветвления выбирают в программе из группы альтернатив возможное продолжение вычислительного процесса. Выбор выполняется исходя из заданного выражения. В Си наиболее часто используется оператор ветвления if … else.

Оператор if имеет следующую общую форму записи:

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

оператор _1;

else

оператор_2;

где часть else может и отсутствовать. Сначала вычисляется «выражение» в скобках, и если оно истинно (отлично от нуля), то выполняется оператор_1. Если «выражение» ложно (равно нулю) и else-ветвь присутствует, то выполняется оператор_2, а оперетор_1 пропускается. Если на месте условно выполняемых операторов должна располагаться группа из нескольких операторов, то он заключаются в фигурные скобки. Часто «выражение» представляет собой условие, заданное с помощью операций отношения или логических.

Операторы цикла while и dowhile. Эти операторы предназначены для организации циклических процессов при выполнении некоторых условий. Наиболее универсальным является оператор while (пока), который организует цикл с предусловием. Он имеет следующий формат:

while(условие)

оператор;

Условие понимается в широком смысле и может быть произвольным выражением. Оператор while производит выполнение оператора, следующего после условия до тех пор, пока это условие истинно. Если это условие не истинно (ложно) с самого начала или становится ложным, заданный оператор не выполняется и управление передается первому оператору, следующему за оператором цикла. Если повторяемая часть оператора (тело цикла) содержит не один, а несколько операторов, то вся повторяемая группа должна быть заключена в фигурные скобки:

while(условие)

{

оператор_1;

оператор_2;

…………

оператор_n;

}

Для описания условия в операторе while обычно используются операции отношения и логические.

В языке Си имеется возможность организовывать цикл с постусловием посредством оператора do … while. В общем виде этот оператор можно записать следующим образом:

do

оператор;

while(условие);

Выполняется «оператор», а затем проверяется «условие». Если оно истинно, то снова выполняется «оператор» и т.д. Если «условие» становится ложным, циклический процесс заканчивается. Для описания «условия» обычно используются операции отношения и логические.

Анализ рассмотренных примеров показывает, что разница между циклами while и do … while в том, что входящий в их состав оператор выполняется обязательно хотя бы один раз в случае использования цикла do … while.

Оператор цикла for. Этот оператор используется, когда известно точное число повторов, которое нужно выполнить. В общем виде этот оператор можно записать следующим образом:

for(выражение_1; выражение_2; выражение_3) оператор;

В операторе for определяются сразу три составляющие:

  • начальное значение параметра цикла («выражение_1»);

  • условие окончания цикла («выражение_2»);

закон изменения параметра цикла («выражение_3»)