Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 300094.doc
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
342.53 Кб
Скачать

5. Выражение

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

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

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

  1. все операнды типа float преобразуются к типу double;

  2. если один операнд имеет тип long double, то второй операнд преобразуется к типу long double;

  3. если один операнд имеет тип double, то второй операнд преобразуется к типу double;

  4. если один операнд имеет тип unsigned long, то второй операнд преобразуется к типу unsigned long;

  5. если один операнд имеет тип long, то второй операнд преобразуется к типу long;

  6. если один операнд имеет тип unsigned int, то второй операнд преобразуется к типу unsigned int;

  7. все операнды типа char преобразуются к типу int;

  8. все операнды типа unsigned char преобразуются к типу unsigned int;

  9. иначе оба операнда имеют тип int.

Тип значения выражения имеет тип результата последней выполняемой операции в этом выражении.

6. Основные управляющие структуры

Основу языка Си составляют операторы. В Си точка с запятой является признаком конца оператора. Принято группировать все операторы в следующие классы: присваивания, вызов функции, ветвления и цикла.

Управляющие структуры или операторы управления служат для управления последовательностью вычислений в программе.

  1. Оператор – выражение

<выражение>;

Действие заключается в вычислении значения выражения.

  1. Оператор присваивания

В простейшем случае общий вид оператора:

V = E;

Здесь V – имя переменной, а E – выражение. В операторе присваивания используется операция присваивания = .

Например:

c = a * b;

Действие такого оператора можно описать следующими словами: " с присваивается значение а, умножение на b ". Значение, присваиваемое переменной с, равняется произведению текущих значений переменных а и b.

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

  1. Составной оператор (или последовательность)

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

Например:

{ I+= a; n++; }

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

Структурная схема последовательности:

S

где Si – любой оператор.

4)Условные операторы (ветвления)

– полный условный оператор :

if ( B ) S1; else S2 ;

Здесь B – выражение, принимающее логическое значение, S1 – оператор, исполняемый, если B  истинно, S2 – оператор, исполняемый, если B ложно.

Структурная схема полного условного оператора:

– сокращенный условный оператор

if ( B ) S;

Здесь S – оператор, исполняемый, если B истинно, в противном случае выполняется следующий по порядку оператор.

Структурная схема сокращенного условного оператора:

– оператор переключатель (варианта):

switch ( I )

{

case L1: S1;

break;

case L2: S2;

break;

. . .

case Ln: Sn;

break;

default: Sn+1;

}

Где I – выражение целого типа, L1, L2, ... ,Ln – константы того же типа, что и I, S1, S2, ... , Sn – операторы, из которых выполняется тот, с константой которого совпало значение I. Ветка default (оператор Sn+1) выполняется, если ни одно из вышестоящих выражений не удовлетворено.

Структурная схема оператора варианта: