- •Вопросы к экзамену по дисциплине
- •6. Типы данных: целый, вещественный, символьный. Размеры данных.
- •7.Правила определения переменных в программе. Инициализация переменных.
- •10.Операции сдвига.
- •11.Операции отношения, логические операции.
- •Int I, j, k;
- •15.Приоритет операций и порядок вычисления выражений.
- •16.Функция форматированного вывода printf.
- •18.Операторы преобразования данных и операторы управления. Оператор простой и составной, блок.
- •(Последовательно выполняемые операторы)
- •19.Виды управляющих конструкций программы.
- •20.Операторы ветвления, условный оператор.
- •21.Оператор переключения(Switch).
- •22.Оператор цикла с заданным числом повторений.
- •23.Оператор цикла с предусловием.
- •24.Оператор цикла с постусловием.
- •25.Операторы прерывания и продолжения цикла.
- •26.Одномерные и многомерные массивы, их инициализация.
- •27.Указатели. Связь между указателями и массивами.
- •28.Операции над указателями и массивами.
- •29.Операции взятия адреса, обращения по адресу.
- •30.Определение функции. Возвращение значения: оператор return. Описание функции, вызов функции.
- •31.Аргументы функции: формальные и фактические. Передача аргументов, стек.
- •32.Рекурсивные программы.
- •33.Функции для работы со строками: сравнение, копирование.
- •47. Функции для работы со строками: поиск в строке.
- •34.Функции для работы со строками: преобразование форматов.
- •35.Локальные и глобальные переменные.
- •36.Классы памяти. Автоматические переменные. Внешние и статические переменные.
- •37. Декларация структур.
- •38. Инициализация и доступ к элементам структуры.
- •39. Вложенные структуры и массивы структур.
- •40. Указатели на структуры.
- •41.Файлы.Функции работы с указателем текущей позиции файла.
- •43.Функция чтения и записи в файл в построчном режиме.
- •44.Функция чтения и записи в файл в посимвольном режиме.
- •45.Функция чтения и записи двоичных файлов.
- •46.Списки.Операции над списками. Односвязные и двусвязные списки.
- •47.Реализация списка на основе массива структур.
- •48.Реализация списка на основе массива данных.
- •49.Очереди. Операции над очередями.
- •50.Реализация очереди на основе массива.
- •51.Стеки. Операции над стеками.
- •52.Реализация стека на основе массива.
- •53.Сортировка методом обмена(пузырька).
- •Анализ пузырьковой сортировки. Пузырьковая сортировка обладает несколькими характеристиками:
- •54.Методом выбора.
- •55.Методом вставки.
- •56.Методом Шелла.
- •57.Метод быстрой сортировки(Хоара).
33.Функции для работы со строками: сравнение, копирование.
Строка представляет собой массив символьных переменных, заканчивающийся специальным нулевым символом. В языке С признаком окончания строки служит символ '/0'. Т.о. строка содержит символы, составляющую строку, а также нулевой символ.
Объявляя массив символов, предназначенный для хранения строки, необходимо предусмотреть место для нуля, т.е. указать его размер в объявлении на один символ больше, чем наибольшее предполагаемое количество символов. Например, объявление массива str, предназначенного для хранения строки из 10 символов, должно выглядеть так:
charstr[11];
Последний, 11-ый байт предназначен для нулевого символа.
Записанная в тексте программы строка символов, заключенных в двойные кавычки, является строковой константой, например, «некоторая строка».
В конец строковой константы компилятор автоматически добавляет нулевой символ.
Для обработки строк в С определено много различных библиотечных функций.
Имя функции strcpy(s1, s2) – копирование s2 в s1.
Имя функции strcmp(s1,s2) возвращает 0, еслиs1 иs2 совпадают, отрицательное значение, еслиs1<s2 и положительное значение, еслиs1>s2.
Следует помнить, что strcmp() принимает значении ЛОЖЬ, если строки совпадают.
Эти функции объявлены в заголовочном файле <string.h>.
47. Функции для работы со строками: поиск в строке.
Строка представляет собой массив символьных переменных, заканчивающийся специальным нулевым символом. В языке С признаком окончания строки служит символ '/0'. Т.о. строка содержит символы, составляющую строку, а также нулевой символ.
Объявляя массив символов, предназначенный для хранения строки, необходимо предусмотреть место для нуля, т.е. указать его размер в объявлении на один символ больше, чем наибольшее предполагаемое количество символов. Например, объявление массива str, предназначенного для хранения строки из 10 символов, должно выглядеть так:
charstr[11];
Последний, 11-ый байт предназначен для нулевого символа.
Записанная в тексте программы строка символов, заключенных в двойные кавычки, является строковой константой, например, «некоторая строка».
В конец строковой константы компилятор автоматически добавляет нулевой символ.
strchr
char *strchr(const char *str, int c);
ищет в строке strпервое вхождение символа с. Возвращает NULL, если символ в строке отсутствует.
strrchr
char *strrchr (const char *str, int c);
ищет в строке str последнее вхождение символа с. Возвращает NULL, если символ в строке отсутствует.
strstr
char *strstr (const char *str1, const char *str2);
ищет в строке str1 подстрокуstr2. Возвращает указатель на тот элемент в строке str1, с которого начинается подстрока str2., или NULL, если подстрока str2 в строке str1 отсутствует.
strpbrk
char *strpbrk(const char *str1, const char *str2);
ищет в строке str1 первое вхождение любого символа из строки str2. Возвращает NULL, если такой символ в строке отсутствует.
strtok
char*strtok(char*str1,constchar*str2);
ищет в строке str1 лексемы, выделенные символами из второй строки str2.