Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





Функция 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 имеют разные типы, то тип результата определяется по правилам преобразования.

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

Общий вид оператора:

switch (выражение) {

case константа1: оператор1; break;

case константа2: оператор2; break;

...

case константаN: операторN; break;

default: оператор(N+1); break; // может отсутствовать

}

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

case константное выражение:

Целочисленное выражение (константа выбора) после вычисления сравни­вается со значениями констант и при совпадении с одной из них выполняется передача управления соответствующему оператору. В случае несовпадения значения выражения с одной из констант происходит переход на метку default, либо, при ее отсутствии, к оператору, следующему за оператором switch.

Управляющий оператор break (разрыв) позволяет организовать выход из оператора switch на первый выполняемый оператор, следующий после данной конструкции (оператор switch).

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

void main(void)

{ int i = 2;

switch(i) {

case 1: puts ("Случай 1. "); break;

case 2: puts ("Случай 2. "); break;

case 3: puts ("Случай 3. "); break;

default: puts ("Случай default. "); break;

}

}

Для того, чтобы выйти из оператора switch в любом месте использовали оператор break, поэтому результатом будет: Случай 2.

Пример 2 (оператор break отсутствует):

void main()

{ int i=2;

switch(i) {

case 1: puts ("Случай 1. ");

case 2: puts ("Случай 2. ");

case 3: puts ("Случай 3. ");

default: puts ("Случай default. ");

}

}

Так как оператор разрыва отсутствует, результатом будет:

Случай 2.

Случай 3.

Случай default.

 

 

9. Составление циклических алгоритмов

Понятие цикла

Практически все алгоритмы решения задач содержат циклически повторяемые участки. Цикл это одно из фундаментальных понятий программирования. Под циклом понимается организованное повторение некоторой последовательности операторов.

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

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

Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием).

Перечень разновидностей операторов цикла:

- оператор цикла с предусловием;

- оператор цикла с постусловием;

- оператор цикла с предусловием и коррекцией.

 







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.