- •Часть 1
- •40 01 02 – 02 Информационные системы и технологии (в экономике)
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах
- •3. Перечень тем лабораторных занятий, их содержание и объем в часах
- •Теоретический раздел
- •Тема № 1. Введение в программирование
- •Происхождение языка с.
- •Основные характеристики алгоритмического языка с
- •Область применения
- •Системы программирования
- •Исходные и объектные модули, процессы компиляции и связывания
- •Алфавит языка
- •Лексемы (cTokens)
- •Тема № 2. Выражения и операции языка Унарные операции
- •Бинарные операции
- •Условная трехместная операция
- •Операция явного преобразования типа
- •Приоритет операций. Порядок вычисления выражений.
- •Организация ввода-вывода информации
- •Тема № 3. Управляющие структуры. Ветвления и циклы
- •Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».
- •Операторы управления работой программы называют управляющими конструкциями программы.
- •Тема № 4. Организация данных. Массивы и указатели Массивы
- •Инициализация массивов
- •Указатели
- •Функции для выделения и освобождения памяти
- •Тема № 5. Функции. Символьные строки и функции над ними Определение функций
- •Описание функций
- •Вызов функции
- •Передача параметров
- •Указатели на функции
- •Массивы указателей на функции
- •Главная функция. Передача аргументов главной функции
- •Рекурсивные программы
- •Стандартные функции ввода-вывода строк
- •Стандартные функции обработки строк
- •Тема № 6. Классы памяти и препроцессор языка Си Локальные и глобальные переменные
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Регистровые переменные
- •Область видимости и функции
- •Препроцессор и его директивы
- •Тема № 7. Структуры Декларация структур
- •Инициализация структур
- •Доступ к элементам структур
- •Элементы-массивы
- •Массивы структур
- •Указатели на структуры
- •Доступ к элементам структуры, определенной через указатель
- •Структуры и функции
- •Объединения
- •Битовые поля
- •Практический раздел Виртуальные лабораторные работы
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Контрольные работы
- •Содержание пояснительной записки.
- •Задание для контрольной работы №1
- •Задание для контрольной работы №2
- •Варианты индивидуальных заданий
- •Теоретические вопросы
- •Пример оформления титульного листа для виртуальных лабораторных работ
- •Пример оформления титульного листа для контрольных
Область применения
С представляет собой язык общего назначения. Наиболее эффективно он может быть использован в системном программировании как альтернатива языкам ассемблера, что ведет к значительному повышению мобильности и надежности системных программ, уменьшает затраты на разработку и сопровождение. Язык может применяться и для написания программ прикладного характера – числовых, обработки текстов, управления базами данных и других.
Область применения языка С практически не ограничена. Значительный объем эксплуатируемого программного обеспечения разработан на этом языке. И хотя в настоящее время он вытесняется еще более развитыми его потомками – С++, например, он не утратил своего значения. Можно сказать, что С используется там, где требуется высокая эффективность исполняемого кода. В многих программных комплексах особо узкие места закрыты модулями, написанными на С. В настоящее время любая инструментальная операционная система не может считаться полной, если в ее состав не входит компилятор языка С.
Системы программирования
Системы программирования основываются на одном из двух подходов реализации языка: интерпретации или компиляции.
Интерпретация предполагает последовательный анализ текста программы с ее одновременным исполнением. При интерпретации языка компьютер в ходе выполнения программы анализирует каждую инструкцию отдельно, после чего осуществляет ее преобразование в машинный код и выполняет его. Если в ходе выполнения программы повторяется какой-либо фрагмент исходного кода, интерпретатор будет снова анализировать и преобразовывать этот фрагмент перед его исполнением.
Компиляция. В отличие от интерпретаторов компиляторы сначала осуществляют преобразование всего файла исходного текста в машинный код, после чего осуществляется его выполнение. Если какой-либо фрагмент компилируемой программы повторяется, то компиляция повторно не выполняется, как это происходило в интерпретаторе. Следовательно, откомпилированные программы выполняются значительно быстрее, чем интерпретируемые программы, хотя для начинающих проще обучаться на интерпретирующих трансляторах. Язык С относится к языкам компилируемого типа.
Исходные и объектные модули, процессы компиляции и связывания
Программа на С состоит из отдельно компилируемых модулей. Модуль – это исходный файл компилятора С, содержащий набор логически связанных данных и функций. Функции не могут быть вложены одна в другую. Функции и данные могут быть глобальные, т.е. известные во всей программе, или статические – известные только в данном модуле.
Обычно процесс преобразования текста программы в исполняемый код является многоэтапным (по крайней мере – двухэтапным).
На первом этапе реализуется собственно компиляция, при которой тексты исходных модулей программы преобразуются в так называемые объектные модули, которые хотя и состоят в основном из машинных команд, но еще не могут выполняться. Процесс построения исполняемого модуля называется редактированием связей и заключается в установлении связей между отдельными объектными модулями и окончательной привязкой к памяти.


Компиляция Редактирование
Исходный
модуль N
Объектный
модуль N
связей
Исполняемый
модуль
Исходный модуль
2
Объектный модуль
2
Исходный модуль
1
Объектный модуль
1



