
- •«Утверждаю»
- •Учебно-методический комплекс
- •Астана 2010 График выполнения и сдачи заданий по дисциплине
- •Карта учебно-методической обеспеченности дисциплины Учебники, учебные пособия
- •Конспект лекционных занятий
- •Тема 1. Введение в программирование на Си. Структура программы. Директивы препроцессора. Типы данных.
- •Основные операции в языке Си.
- •Преобразование типов
- •Тема 2. Управляющие структуры. Выбор вариантов. Структура выбора If, If – Else, логические операции, операция условия, множественный выбор.
- •Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.
- •Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.
- •Тема 5. Функции в Си. Создание и использование функций.
- •Тема 6. Классы памяти и разработка программ.
- •Тема 7. Указатели в Си.
- •Тема 8. Использование указателей при обработке одномерных и двумерных массивов.
- •Тема 9. Символы и строки в Си.
- •Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 6.
- •Функции поиска из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 7.
- •Другие функции из библиотеки обработки строк. В таблице 8 приведены прототипы и краткое описание остальных функций из библиотеки обработки строк.
- •Ниже приведены примеры программы, использующих функции работы со троками.
- •Тема 11. Структуры данных в Си.
- •Тема 12. Динамические структуры данных.
- •Тема 13. Работа с файлами в Си.
- •Тема 14. Графика в Си.
- •Тема 15. Объектно-ориентированное программирование.
- •Методические рекомендации по выполнению лабораторных заданий
- •Лабораторная работа № 3. Использование операторов цикла при решении задач.
- •Лабораторная работа №4. Разработка программ с использованием одномерных массивов.
- •Лабораторная работа №5. Разработка программ с использованием двумерных массивов.
- •Лабораторная работа № 6. Программирование задач с использованием нескольких функций на языке Си.
- •Лабораторная работа № 8. Программирование задач обработки структур данных.
- •Лабораторная работа № 9. Разработка программ с использованием файловых переменных.
- •Лабораторная работа № 10. Разработка программ с использованием графических функций языка Си.
- •Содержание отчета по выполнению лабораторной работы
- •1 Задание
- •Тема 1. Запись констант, стандартных функций, выражений, операторов присваивания. Запись программ линейных структур алгоритмов.
- •Тема 2. Алгоритмическое описание, запись программ линейных, разветвляющихся.
- •Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.
- •Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.
- •Тема 5. Алгоритмическое описание, составление программ обработки двумерного массива.
- •Тема 6-7. Составление программ решения задач с использованием функции.
- •Рекомендуемая литература:
- •Тема 8-9. Составление программ решения задач обработки массивов с использованием указателей.
- •Тема 10-11. Программирование задач обработки символьных и стрковых данных.
- •Рекомендуемая литература.
- •Тема 12. Методы сортировки.
- •Тема 13. Составление программ решения задач с использованием структур данных.
- •Тема 14. Составление программ решения задач с использованием файла произвольного доступа.
- •Рекомендуемая литература.
- •Тема 15. Алгоритмизация графических построений.
- •Варианты заданий:
- •Сведения
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 6.
Таблица 6 – Функции сравнения
Прототип |
Описание функции |
int strcmp(const char *sl, const char *s2); |
Сравнивает строку slсо строкойs2. Функция возвращает 0, значение меньше 0 или больше нуля, еслиslсоответственно равна, меньше или большеs2. |
int stricmp(const char *sl, const char *s2); |
Сравнивает строку slсо строкойs2, не делая различия между символами в нижнем и верхнем регистре. Функция возвращает 0, значение меньше 0 или больше нуля, еслиslсоответственно равна, меньше или большеs2. |
int strncmp(const char *sl, const char *s2, size_t n); |
Сравнивает до nсимволов строкиslсо строкойs2. Функция возвращает 0, значение меньше 0 или больше нуля, еслиslсоответственно равна, меньше или большеs2. |
int strnicmp(const char *sl, const char *s2, size_t n); |
Сравнивает до nсимволов строкиslсо строкойs2, не делая различия между символами в нижнем и верхнем регистре. Функция возвращает 0, значение меньше 0 или больше нуля, еслиslсоответственно равна, меньше или большеs2. |
Функции поиска из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 7.
Таблица 7 – Функции поиска
Прототип |
Описание функции |
char *strchr(const char *s, int c)
|
Находит позицию первого вхождения символа с в строку s. Если с найден, то функция возвращает указатель на с в строке s. В противном случае возвращается указатель со значением NULL. |
char *strrchr(const char *s, int c)
|
Находит позицию последнего вхождения символа с в строку s. Если с найден, то функция возвращает указатель на с в строке s. В противном случае возвращается указатель со значением NULL. |
size_t strspn(const char *s1, const char *s2)
|
Определяет и возвращает длину начального сегмента строки s1, содержащего только те символы, которые входят в строку s2. |
size_t strcspn(const char *s1, const char *s2)
|
Определяет и возвращает длину начального сегмента строки s1, содержащего только те символы, которые не входят в строку s2. |
char *strpbrk(const char *s1, const char *s2)
|
Находит в строке s1 позицию первого вхождения любого из символов строки s2. Если символ из строки s2 найден, функция возвращает указатель на этот символ в строке s1. В противном случае возвращается указатель со значением NULL. |
Прототип |
Описание функции |
char *strstr(const char *s1, const char *s2)
|
Находит позицию первого вхождения подстроки s2 в строку s1. Если подстрока найдена, то функция возвращает указатель подстроки в строке s1. В противном случае возвращается указатель со значением NULL. |
char *strtok(char *s1, const char *s2) |
Последовательный вызов функции выполняет разбиение строки s1 на лексемы (логические части, такие как слова в текстовой строке), разделенные символами, содержащимися в строке s2. При первом вызове функция получает в качестве аргумента строку s1, а в последующих вызовах, чтобы продолжить разбиение той же самой строки, в качестве первого аргумента передается NULL. При каждом вызове возвращается указатель на текущую лексему строки s1. Если при очередном вызове функция находит, что лексем в строке не осталось, то возвращается NULL. |