Операторы языка Си.




Оператор — это наименьшая автономная часть языка программирования, команда. Сегодня мы узнаем какие есть операторы в языке программирования Си.

Все операторы языка СИ разделены на категории:

  • условные операторы, к которым относятся оператор условия if и оператор выбора switch;
  • операторы цикла (for,while,do while);
  • операторы перехода (break, continue, return, goto);
  • Логические операторы (И, ИЛИ, НЕ);
  • другие операторы (оператор «выражение», пустой оператор);
  • Составные операторы.

Все операторы языка СИ, кроме составных операторов, заканчиваются точкой с запятой «;».

Условный оператор if

Оператор if позволяет выполнять или не выполнять определенные участки кода, в зависимости от того является ли истинным или ложным условие этого оператора. Одно из самых важных назначений оператора if это то, что он позволяет программе совершить действие на выбор, в зависимости от того, какие данные ввел пользователь. Условный оператор if может использоваться в форме полной или неполной развилки.


Полная развилка

if(условие){
  блок операций 1;
} else {
  блок операций 2;
}


Неполная развилка

if(условие){
  блок операций;
}

В случае полной развилки если условие истинно, то выполняется блок операций 1, иначе выполняется блок операций 2.

В случае неполной развилки если условие истинно, то блок операций выполняется, если условие ложно, то блок операций не выполняется.

Пример использование оператора:

#include <windows.h>
#include <stdio.h>

int main() {
  int k;
  printf("k= "); // вводим число k
  scanf("%d",&k);
  if(k >= 5) {
    printf("%d >= 5", k); //Если k >= 5 то выполняеться 1 условие 
  } else {
    printf("%d < 5", k);  //Если k < 5 то выполняеться 2 условие
  }
  getchar(); getchar();
  return 0;
}

Напишите данный код в свой компилятор и запустите, после ввода числа k оператор выведит, то условие, которое подходит для введеного числа (больше или меньше) вот так и работает данный оператор.

Оператор множественного выбора switch

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

switch (целое выражение) {
  case константа1: блок операций1;
         break;
  case константа2: блок операций2;
         break;
. . .
  case константаn: блок операцийn;
         break;
  default: блок операций по умолчанию;
         break;
}

Оператор switch выполняется следующим образом:

  • вычисляется целочисленное выражение в скобках оператора switch;
  • полученное значение сравнивается с метками (константами) в опциях case, сравнение производится до тех пор, пока не будет найдена метка, соответствующая вычисленному значению целочисленного выражения;
  • выполняется оператор соответствующей метки case;
  • если соответствующая метка не найдена, то выполнится оператор в опции default.

Опция break; осуществляет выход из оператора switch и переход к следующему за ним оператору. При отсутствии опции break будут выполняться все операторы, начиная с помеченного данной меткой и кончая оператором в опции default.

Оператор for

Оператор for — это наиболее общий способ организации цикла.

for ( выражение 1 ; выражение 2 ; выражение 3 ) тело

Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 — это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

В следующем примере вычисляются квадраты чисел от 1 до 9 с помощью оператора for:

int main()

       { int i,b;

          for (i=1; i<10; i++)

             b=i*i;

          return 0;

       }

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

  for (;;)

       { ...

         ...  break;

         ...

      }

Оператор while

Оператор цикла while называется циклом с предусловием. Его синтаксис:

while (выражение) тело ;

Выражение в скобках может принимать ненулевое (истинное) или нулевое (ложное) значение. Если оно истинно, то выполняется тело цикла и выражение вычисляется снова. Если выражение ложно, то цикл while заканчивается. Оператор while удобно использовать в ситуациях, когда тело оператора не всегда нужно выполнять.

Оператор do while

Основным отличием между циклами while и do — while является то, что тело в цикле do — while выполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз. Его синтаксис:

do тело while (выражение);

Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break.

Оператор continue

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

int main()

       {   int a,b;

           for (a=1,b=0; a<100; b+=a,a++)

           {  if (b%2) continue;

              ...    /* обработка четных сумм  */

           }

           return 0;

       }

Когда сумма чисел от 1 до а становится нечетной, оператор continue передает управление на очередную итерацию цикла for, не выполняя операторы обработки четных сумм.

Оператор return

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

int sum (int a, int b)

        {   renurn (a+b);    }

Функция sum имеет два формальных параметра a и b типа int, и возвращает значение типа int. Возвращаемое оператором return значение равно сумме фактических параметров.

Оператор goto

goto имя-метки;

                  ...

       имя-метки: оператор;

Оператор goto передает управление на оператор, помеченный меткой имя-метки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно имя-метки не может быть использовано для разных операторов программы. Имя-метки — это идентификатор.

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

Оператор break

Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, while. После выполнения оператора break управление передается оператору, следующему за прерванным.

Логические операторы

Логические операторы – это операторы, которые принимают в качестве аргументов логические значений (ложь или истину) и возвращают логическое значение. Как и обычные операторы, они могут быть одноместными (унарными, т.е. принимать один аргумент), двуместными (бинарные, принимают два аргумента), трёхместными и т.д.

Оператор НЕ (NOT, Логическое отрицание) используется для того, чтобы инвертировать значение аргумента. т.е., если ему передали истину, то он вернёт ложь, если получил ложь в качестве аргумента, то вернёт истину. В Си отрицание представлено оператором !. Например:

#include <windows.h>
#include <conio.h>
#include <stdio.h>

void main() {
    int i = 0;
    if (i) {
        printf("i is true\n");
    }
    if (!i) {
        printf("i is not true\n");
    }
    if (!!i) {
        printf("i is not not true\n");
    }
    if (!!!i) {
        printf("i is not not not true\n");
    }
    _getch();
}

Оператор И (AND, логическое умножение) возвращает истину тогда и только тогда, когда оба аргумента являются истиной. В Си логическое умножение представлено оператором &&.

Оператор логическое ИЛИ (логическое сложение, OR) истинен тогда, когда истиной является хотя бы один его аргумент. В Cи ИЛИ представлен оператором ||.

Оператор «выражение»

Любое выражение, которое заканчивается точкой с запятой, является оператором. Выполнение оператора выражение заключается в вычислении выражения. Полученное значение выражения никак не используется, поэтому, как правило, такие выражения вызывают побочные эффекты.

++ i; //Этот оператор представляет выражение, которое увеличивает значение переменной i на единицу.

Пустой оператор

Пустой оператор состоит только из точки с запятой. При выполнении этого оператора ничего не происходит. Он обычно используется в операторах do, for, while, if в строках, когда место оператора не требуется, но по синтаксису требуется хотя бы один оператор и при необходимости пометить фигурную скобку.

Составной оператор

Составной оператор представляет собой несколько операторов и объявлений, заключенных в фигурные скобки:

 {  [oбъявление]

           :

           оператор; [оператор];

           :

       }

Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов.

На этом наш урок по операторам языка Си закончен. Маленький совет от меня — занимайтесь практикой «программируйте» всегда и везде и у Вас все получиться. Удачи!

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *