В дальнейшем мы будем часто пользоваться стандартными библиотечными функциями. Рассмотрим некоторые из них.

Функция void clrscr(void); - полностью очищает экран дисплея, переводя курсор в верхний левый угол. При работе в Visual C++ очистку экрана можно выполнить, используя функцию system(“cls”);

Функция int kbhit(void); - возвращает ненулевое целое значение при нажатии клавиши, в противном случае - нулевое.

Синтаксис операторов языка C

Операторы языка Си можно разделить на три группы:

- операторы-декларации (рассмотрены ранее);

- операторы преобразования объектов;

- операторы управления процессом выполнения алгоритма.

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

Простейший вид операторов - операторы-выражения.

Простые операторы:

- оператор присваивания - выполнение операций присваивания;

- оператор вызова функции - выполнение операции вызова функции;

- пустой оператор «;».

Классы управляющих операторов в языке Си следующие:

- операторы условного и безусловного перехода;

- оператор выбора альтернатив (переключатель);

- операторы организации циклов;

- операторы передачи управления (перехода).

Каждый из управляющих операторов имеет конкретную лексическую конструкцию, образуемую из ключевых слов языка С, выражений и символов-разделителей: { } , : ( ) .

Операторы языка С записываются в свободном формате с использованием разделителей между ключевыми словами. Допустима вложенность операторов. В случае необходимости можно использовать составной оператор - блок, состоящий из любой последовательности операторов, заключенных в фигурные скобки - { и }, после закрывающей скобки символ «;» не ставится.

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

В языке С имеется две разновидности условных операторов: простой и полный. Синтаксис простого оператора условного выполнения:

if (выражение) оператор1;

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

Примеры записи:

if (x>0) x=0;

if (i!=1) j++, s=1; - используем операцию «запятая»;

if (i!=1) { j++; s=1; } - последовательность операций;

if (getch()!=27) { - если нажата клавиша, не “Esc”.

k=0;

}

if (i) exit(1); « if (i!=0) exit(1);

if (i>0)

if (i<n) k++; « if ((i>0)&&(i<n)) k++;

if (1) i=0; « i=0;

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

if (выражение) оператор1;

else оператор2;

Если выражение в скобках не ноль (истина), то выполняется оператор1, иначе - оператор2. Операторы 1 и 2 могут быть простыми или составными.

Примеры записи:

if (x>0) j=k+10;

else m=i+10;

Если есть вложенная последовательность операторов if-else, то else связывается с ближайшим предыдущим if, не содержащим else. Например:

if (n>0)

if(a>b) z=a;

else z=b;

Если необходимо связать фразу else с внешним if, то используем операторные скобки:

if(n>0)

{ if (a>b) z=a; }

else z=b;

В следующей цепочке операторов if-else-if выражения просматриваются последовательно:

if (выражение1) оператор1;

else if (выражение2) оператор2;

else if (выражение3) оператор3;

else оператор4;

Если какое-то выражение оказывается истинным, то выполняется относящийся к нему оператор и этим вся цепочка заканчивается. Каждый оператор может быть либо отдельным оператором, либо группой операторов в фигурных скобках. Последняя часть с else имеет дело со случаем, когда ни одно из проверяемых условий не выполняется. Иногда при этом не нужно предпринимать никаких явных действий, в этом случае else оператор4; может быть опущен, или его можно использовать для контроля, чтобы засечь "невозможное" условие (экономия на проверке условий).

Пример:

if ( n < 0 ) printf ( "n отрицательное\n" );

else if ( n==0 ) printf ( "n равно нулю\n );

else prinf ( "n положительное\n );

Условная операция «? :»

Условная операция - тернарная, в ней участвуют три операнда. Формат написания условной операции следующий:

выражение 1 ? выражение 2 : выражение 3;

если выражение 1 отлично от нуля (Истинно), то результатом операции является выражение 2, в противном случае - результатом операции является выражения 3. Каждый раз вычисляется только одно из выражений 2 или 3.

Запишем оператор if, вычисляющий максимум из а и b и присваивающий его значение z.

if (a > b) z=a;

else z=b;

Используя условную операцию, этот пример можно записать:

z = (a>b) ? a : b;

Условную операцию можно использовать также как и любое другое выражение. Если выражения 2 и 3 имеют разные типы, то тип результата определяется по правилам преобразования.

Наши рекомендации