- •Оглавление
- •Билет 1: Понятия о структурном программировании
- •Билет 2: Моделирование стандартных управляющих структур
- •Билет 3: структура программы
- •Билет 4: организация (структура) модуля
- •Билет 5: Переменные
- •Билет 6: Система типов языка
- •Билет 7: Арифметические типы языка c
- •Билет 8: Константы
- •Билет 9: КонстантныеобъектывязыкеСи.
- •Билет 10: Константные объекты
- •Билет 11. Переменные, понятие об объекте, lvalue и rvalue выражения.
- •Билет 12. Время жизни переменных.
- •Билет 15. Операторы. Приоритет и ассоциативность операторов.
- •Билет 19: Побочные эффекты в языке Си.
- •Билет 20: Организация функций. Определение функций
- •Билет 25: Инструкция If…else. Программирование разветвлений.
- •Билет 26: Инструкция switch и организация разветвленных алгоритмов.
- •Билет 27: Циклические алгоритмы, классификация, функциональная схема
- •Билет 28: Циклические инструкции.
- •Билет 29: инструкция for и арифметические циклы
- •Билет 30: Инструкция while и do...While, интерационные циклы
- •Билет 31: Циклы с выходом. Бесконечные циклы
- •Билет 32. Организация вложенных циклов
- •Билет 33: Массивы. Определение и инициализация одномерных массивов
- •Билет 34. Массивы. Определение и инициализация двумерных массивов
- •Билет 35. Связь указателей и массивов
- •Билет 40. Указатели. Определение типизированных и нетипизированых указателей. Модель, используемая при работе с указателями. Операции с указателями.
- •Билет 41: Операции с указателями
- •Билет 42. Использование указателей для возврата из функции через параметры
- •Билет 43. Указатели на функцию. Определение. Операции. Использование в параметрах функции
- •Билет 44. Типичные ошибки при работе с массивами
- •Билет 45. Массив указателей, динамическая матрица
- •Билет 46. Понятие некорректного указателя.
- •Билет 47. Организация строк. Общие сведения
- •Билет 48. Ввод/вывод строк
- •Void funk(“Kozin”); - при этом ничего не возвращается. Данная запись используется довольно редко.
- •Билет 52. Организация динамического одномерного массива
- •Билет 53. Структуры. Определение типа структур. Определение переменных в структуре и инициализация. Операции со структурой
- •Билет 54. Обращение к полям структуры. Массивы структур
- •Билет 55. Использование структур при работе с функциями. Указатели на структуры
- •Билет 58: Файловый ввод-вывод. Символьный ввод-вывод в языке Си.
- •Синтаксис преобразования вывода
- •Билет 60: Файловый ввод-вывод. Строковый ввод-вывод в языке Си.
- •Билет 61: Файловый ввод-вывод. Блоковый ввод-вывод в языке Си.
- •Int fseek(file *f, long int колич_байт, int начало_отсчета);
Билет 25: Инструкция If…else. Программирование разветвлений.
if (выражение1)
вариант1
else
вариант2
Всегда следует использовать if…else если всего два разветвления.
Пример:
if (a>b) При таком исполнении
if (c>d) else будет относиться к ближайшему
y=x; if, не имеющему else, те ко второму
else
y=t;
if (a>b) При таком исполнении
{ if (c>d) else будет относиться
y=x; } к первому if
else
y = t;
Думаю здесь стоит добавить ещё логическую схему конструкции. А также некоторые дополнительные факты, например, хороший стиль оформления условия (особенно вложенных), необходимость (или её отсутствие) в фигурных скобках после заголовка условия.
Билет 26: Инструкция switch и организация разветвленных алгоритмов.
Оператор switch предназначен для организации выбора из множества различных вариантов. Формат оператора следующий:
switch ( выражение )
{ [объявление]
[ case константное-выражение1]: [ список-операторов1]
[ case константное-выражение2]: [ список-операторов2]
[ default: [ список операторов ]]
}
Выражение, следующее за ключевым словом switch в круглых скобках, может быть любым выражением, допустимыми в языке СИ, значение которого должно быть целым. Отметим, что можно использовать явное приведение к целому типу.
Значение этого выражения является ключевым для выбора из нескольких вариантов. Тело оператора switch состоит из нескольких операторов, помеченных ключевым словом case с последующим константным выражением. Следует отметить, что использование целого константного выражения является существенным недостатком, присущим рассмотренному оператору.
Так как константное выражение вычисляется во время трансляции, оно не может содержать переменные или вызовы функций. Обычно в качестве константного выражения используются целые или символьные константы.
Все константные выражения в операторе switch должны быть уникальны. Кроме операторов, помеченных ключевым словом case, может быть, но обязательно один, фрагмент, помеченный ключевым словом default.
Список операторов может быть пустым, либо содержать один или более операторов. Причем в операторе switch не требуется заключать последовательность операторов в фигурные скобки.
Отметим также, что в операторе switch можно использовать свои локальные переменные, объявления которых находятся перед первым ключевым словом case, однако в объявлениях не должна использоваться инициализация.
Схема выполнения оператора switch следующая:
- вычисляется выражение в круглых скобках;
- вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;
- если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;
- если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.
Отметим интересную особенность использования оператора switch: конструкция со словом default может быть не последней в теле оператора switch. Ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch. Все операторы, между начальным оператором и концом тела, выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch. Таким образом, программист должен сам позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break.