- •4.Элементы языка Си. Символы, лексемы, знаки операций.
- •1.Символы языка
- •2.Лексемы
- •5.Элементы языка Си. Константы, идентификаторы, ключевые слова, комментарии.
- •6.Типы данных.
- •7.1,Объявление переменных. Массивы.
- •7.2,Объявление переменных. Массивы.
- •9.1,Операции и выражения. Арифметические операции
- •11. Логические операции и операции отношения. Операции присваивания
- •12.Условное выражение. Операция Sizeof. Операции приведения типов type.
- •13.1,Преобразование типов в выражения. Правила приведения типов.
- •13.2,Преобразование типов в выражения. Правила приведения типов.
- •14.1, Управление вычислительными процессами. Конструкции if-else, else-if.
- •14.2, Управление вычислительными процессами. Конструкции if-else, else-if.
- •15.Переключатель
- •16. Операторы цикла.
- •17.1.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
- •17.2.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
- •Пустой оператор
- •18.1.Классы памяти.
- •18.2.Классы памяти.
- •19.1. Функции. Определение ф-ций.
- •Определение ф-ции
- •19.2. Функции. Определение ф-ций.
- •21. Структура программы на языке Си
- •22. Директивы #define и # undef.
- •24,Директивы препроцессора. Препроцессорные операции.
- •Препроцессорные операции
- •25.1, Указатели.Операции &,*.
- •25.2, Указатели.Операции &,*.
- •26. Указатель на неопределенный тип.
- •27.1,Выражения и операции с указателями. Присваивание указателей
- •Сравнение указателей
- •27.2,Выражения и операции с указателями. Применение арифметических операций к указателям
- •29. Массивы и указатели.
- •30.Операции с указателями на массив. Адресная арифметика.
- •32.Массивы указателей. Указатели на указатели.
- •33.Массивы указателей на строки.
- •34.1,Передача параметров из операционной среды.
- •34.2,Передача параметров из операционной среды.
- •36.1,Динамичное распределение памяти.
- •36.2,Динамичное распределение памяти.
- •37,1,Структуры. Операции над структурами
- •37,2,Структуры. Операции над структурами
- •38.Массив структур. Правило выравнивания структурных переменных в памяти
- •39.1,Переименование типов. Средство typedef.
- •39.2,Переименование типов. Средство typedef.
- •40.Поля битов.
- •41.1,Объединения
- •41.2,Объединения
- •42.Ввод, вывод потока.
- •43.Доступ к файлам через поток ввода/вывода.Открытие потока.Закрытие потока.
- •44.1,Доступ к файлам через поток ввода/вывода.Функция потокового ввода вывода.
- •44.2,Доступ к файлам через поток ввода/вывода.Функция потокового ввода вывода.
- •45,Последовательный и прямой доступ в поток.
16. Операторы цикла.
While(выр)
Инструкция
Вначале вычисляется выр в скобках, если оно истино, то выполняется инструкция.
for(выр1;выр2;выр3)
инструкция
выр1(выр. инициализации)- используется для установления начальных значений переменных, управляющих циклом
выр2(выр.условия)- определяет условие при к-ром цикл выполняется
выр3(выр.интеграции)- объявляет изменение переменной, управляющей циклом
Схема выполнения:
вычисляется выр1
вычисляется выр2,если оно истино,то выполняется инструкция
вычисляется выр3
снова вычисляется выр2
- - - - пока условие не станет ложным.
Любое из трех выражений может отсутствовать. При отсутствии выр1 или 3 считается, что их просто нет, а при отсутствии выр2 считается, что оно истино.
Для управления циклом возможно использование не6скольких переменных. При этом используется оператор последовательного вычисления, к-рый наз «запятая». Типом и значением результата явл тип и значение правого выражения, что позволяет в цикле for в любом из трех компонентов иметь по несколько выражений, например, ввести два индекса одновременно.Пара выражений, разделенных запятой, вычисляется слева направо.
Инструкция в цикле for может быть и пустой
do-while
Используется в тех случаях, когда тело цикла должно быть выполнено хотя бы один раз.
do
инструкция
while(выр)
Схема выполнения:
сначало выполняется инструкция
вычисляется выражение. Если оно истино, то инструкция выполняется снова, и так до тех пор, пока выражение не станет ложным.
17.1.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
иногда бывает удобно выйти из цикла не по результату выполнения условия в начале или конце цикла, а каким-то другим способом.
Формат инструкции break:
Действие инструкции прерывает выполнение операторов while, for, do-while, switch.
Если break находится внутри вложенных циклов или переключателей, то он прерывает действие только самого внутреннего, т.е его охватывающего цикла.
Continue
Прерывает тело цикла, но передает управление на следующую операцию. Для while, do-while это означает немедленный переход к проверке условия ввода, а для for к прекращению шага. Его можно применять только в циклах. Если цикл вложенный, то прерывается самый внутренний.
goto
Область действия ограничена ф-цией, в к-рой она определена. Следовательно, каждая метка уникальна. Нельзя передать управление goto в другую ф-цию. Если оператор с данной меткой отсутствует или существует
17.2.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
несколько таких операторов, то это считается ошибкой.
По метке можно передать управление в блок, в тело цикла, в условный оператор и оператор switch, но при передаче в блок нужно быть осторожным, т.к. может быть пропущена инициализация.
Нельзя с помощью goto передать управление на case и default или переключатель.
Наиболее типична ситуация использования операции goto в нек-рых глубоко вложенных структурах.
For(…)
{if (error code)
goto exit;
--} exit;- - - -