Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод_си_15.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
392.19 Кб
Скачать

2.2. Содержание разделов дисциплины

1. ВВЕДЕНИЕ В ЯЗЫК С.

История создания языка С. Сравнение с другими языками программирования. Структура программы на языке С. Основные понятия: алфавит, константы, идентификаторы, ключевые слова, комментарии к программе, директивы препроцессора.

2. ПРЕПРОЦЕССОР ЯЗЫКА С.

Директива #define, создание и использование макросов. Предопределенные макроимена. Директива #include. Директивы условной компиляции.

3. ТИПЫ ДАННЫХ, ВЫРАЖЕНИЯ И ОПЕРАЦИИ.

Базовые типы данных. Модификаторы типов. Арифметические, логические, битовые операции, операции сравнения. Дополнительные операции (инкрементация, декрементация, условное присваивание, скобки, операция запятая, операция sizeof). Конструирование выражений. Явное и неявное преобразование типов в арифметических выражениях.

4. ОПЕРАТОРЫ УПРАВЛЕНИЯ ПРОГРАММОЙ.

Пустой оператор. Операторы - выражения. Блок операторов. Операторы цикла while, do-while, for. Операторы break и continue. Операторы return, exit(). Операторы условия if, switch.

5. УКАЗАТЕЛИ, МАССИВЫ И АДРЕСНАЯ АРИФМЕТИКА.

Работа с адресами и массивами в языке С. Описание адресных переменных и массивов. Операции нахождения адреса и косвенной адресации. Адресная арифметика и работа с указателями. Многомерные массивы, указатели, указатель на указатель, индексированный указатель, массивы указателей.

6. ОБРАБОТКА СИМВОЛЬНЫХ СТРОК.

Определение строк и строковых констант. Инициализация строк. Указатели и строки. Библиотечные функции работы со строками. Реализация библиотечных функций. Массивы строк.

7. ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ.

Создание и использование простой функции. Формальные и фактические параметры функции. Передача аргументов в функции. Массивы как аргументы функций. Возвращаемое значение. Прототип функции. Рекурсивные функции. Аргументы функции main. Многофайловая программа. Область видимости переменных. Классы памяти и работа с переменными. Автоматические, статические и внешние переменные.

8. ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ.

Статические и динамические массивы. Функции выделения, перераспределения и освобождения памяти: malloc(), calloc(), realloc(), free(). Выделение памяти для одномерных и многомерных массивов.

9. ВВОД, ВЫВОД И СТАНДАРТНАЯ БИБЛИОТЕКА ВВОДА-ВЫВОДА.

Основные понятия: потоки и файлы; текстовые и бинарные потоки; идентификация файлов и потоков. Последовательный ввод-вывод: открытие и закрытие файлов; ввод-вывод символов, строк, целых чисел; форматированный символьный ввод-вывод; ввод-вывод блоков данных. Прямой файловый ввод-вывод: основные понятия; позиционирование локатора файловой позиции, функции получения адреса. Обновление информации в файле. Функции консольного ввода-вывода.

10. Типы, определяемые пользователем.

Структуры. Массивы структур. Указатели на структуры. Структуры в качестве аргументов функций. Структуры данных: стек, очередь, списки, бинарные деревья. Объединения. Битовые поля. Перечислимый тип. Переименование типов - typedef.

3. Лабораторный практикум

3.1. Общие положения о выполнении лабораторных работ

Лабораторные работы в компьютерных классах служат для самостоятельной работы студентов над учебными задачами с целью выработки и закрепления практических навыков программирования, полученных в рамках теоретического курса «Программирование (язык С)». Лабораторные занятия предполагают изучение студентами интегрированной среды программирования Microsoft Visual Studio, а также подготовку и отладку программ по каждому из разделов курса.

  1. Форматированный ввод-вывод. Типы данных.

  2. Явное и неявное преобразование типов

  3. Разветвляющиеся и циклические алгоритмы

  4. Битовые операции

  5. Массивы

  6. Указатели и массивы

  7. Работа со строками

  8. Оформление программ с использованием функций

  9. Определяемые пользователем типы: структуры, объединения, битовые поля.

  10. Библиотеки ввода-вывода. Работа с файлами

Задания на лабораторные работы определяются преподавателем из списка задач, приведенных ниже.