Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты по проге.docx
Скачиваний:
14
Добавлен:
01.07.2025
Размер:
631 Кб
Скачать
☆

3.1. Операторы и блоки.

Выражение наподобие х=0, i++, printf(…) становится оператором, если после него поставить точку с запятой ;. В языке Си точка с запятой – элемент оператора и его завершающая часть. Фигурные скобки {} служат для группировки объявлений и операторов в составные операторы или блоки, синтаксически эквивалентные одному оператору. Например,

(if (условие)

{ // начало составного оператора

... // несколько операторов

} // конец составного оператора

3.2. Оператор if – else

Выражает процесс принятия альтернативных решений.

If(выражение)оператор 1 else оператор 2 .

Часть с else не обязательна. Вначале ищем выражение , если оно истинно(имеет ненулевое значение), то выполняется оператор1, если ложно и есть блок элсе, то выполняется оператор 2. Можно упростить выражение – if (выражение !=0) или if(выражение).

3.3. Конструкция else-if.

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

Оператор

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

Оператор

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

Оператор

Else if

Оператор

Else

Оператор

Такая последовательность представляет собой способ записи принятия многовариантного решения. Выражение меняются по порядку, если какое истинно, то выполняется оператор и проверка условий прерывается. Последний вариант - ничего из перечисленного.

3.4. Оператор switch

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

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

{

Case констант-выраж: операторы

Case констант – выраж: операторы

Default: операторы

}

Каждый из блоков имеет метку в виде константы с целочисленным значением или константного выражения. Если одна из меток совпадает со значением выражения , управление передаётся операторам этой метки. Все выражения после кэйс должны быть различны. Блок дефолт в том случае, если не найдено ни одного соответствия. Если его нет,то операции никакие не выполняются. ( case ‘+’ : case’-‘: case ‘*’ : i++; break++; - один оператор – несколько меток).

Блоки case, по сути – метки. Нужно выйти – break, рекомендуется ставить даже в конце последнего блока дефорлт. Т.е. после того, как нашлось совпадение в одном из case, если явно не указан выход из оператора switch, то программа выполняет последовательно все остальные ветки записанные ниже той, с которой выполнено совпадение, пока не закончится оператор switch или пока не будет явно указан выход из оператора. Хорошее выполнение сквозное:

case 'W':        

            case 'w': printf("\nVpered\n"); break;

3.5. Циклы while и for

Цикл while(цикл с предусловием). Сначала вычисляется выражение, если оно не равно 0, выполняется оператор, а потом выражение вычисляется снова, до тех пор, пока оно не равно 0

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

Оператор

////

Цикл for (итерационный цикл, цикл ,управляемый счётчиком)

For( выраж1; выраж2 ; выраж3)

Оператор,

Что эквивалентно (почти всегда, за исключением continue)

Выраж1;

While(выраж2)

{

Оператор;

Выраж3;

}

Чаще всего выраж1 и выраж3 – операторы присваивания или вызовы функций, а 2 – отношение или логическое.

Бесконечный цикл for(;;) {…}, нужен break или return. Или while(1)

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