![](/user_photo/70644__xXXN.png)
- •Идентификаторы
- •Область видимости идентификаторов
- •Связывание идентификаторов
- •Продолжительность хранения
- •Типы данных
- •Объявление и определение идентификаторов
- •Задание
- •Задание 1
- •Примеры вывода:
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 8
- •Индивидуальные варианты заданий
- •Контрольные вопросы
- •Инструкция выбора switch
- •Условное выражение
- •Задание
- •Задание 1
- •Задание 2
- •Задание 3
- •Индивидуальные варианты заданий
- •Контрольные вопросы
- •Практикум №3 Регулярные и итерационные циклы Цель практикума
- •Краткие теоретические сведения
- •Инструкция цикла while
- •Инструкция цикла for
- •Инструкция цикла do … while
- •Примеры циклов
- •Выход из цикла
- •Индивидуальные варианты заданий
- •Контрольные вопросы
- •Массивы
- •Передача указателей в функцию
- •Задание 6
- •Индивидуальные варианты заданий
- •Контрольные вопросы
- •Задание 4
- •Задание 5
- •Задание 6
- •Объединения
- •Перечисления
- •Задание Задание 1
- •Задание Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Список литературы
- •Программирование в системах информационной безопасности
Задание 6
Разработать функцию main, демонстрирующую работу функций из заданий 1 и 5. Организовать меню и возможность многократной демонстрации заданий.
Индивидуальные варианты заданий
Сортировка выбором19
Сортировка вставками
Пузырьковая сортировка
Сортировка Шелла
Быстрая сортировка
Сортировка слиянием
Контрольные вопросы
Что такое указатель?
В чем отличие константных указателей и указателей на константный объект?
Привидите примеры определения указателей, указателей на константные объекты, константных указателей и константных указателей на константные объекты
Влияет ли изменение значения параметра функции на фактически переданную в функцию переменную, если передача происходит по значению?
Влияет ли изменение значения параметра функции на фактически переданную в функцию переменную, если передача происходит через указатель?
Можно ли возвращать указатель на локальный объект? Если нет, почему?
Как представляется массив в памяти?
Практикум №5 Строки
Цель практикума
Овладеть навыками работы со строками в языке программирвоания C
Краткие теоретические сведения
Строки
Частным случаем массивов являются строки – массив символов типа char.
По соглашению, в конце строки добавляется нулевой символ. Он является маркером конца строки. Поэтому алгоритмам работы со строками необязательно передавать длину массива.
Строковые литералы в языке C имеют тип данных const char*, поэтому изменение символов в строке не допустимо.
Задание
Задание 1
Написать функцию подсчёта дины строки. Функция принимает исходную строку и возвращает количество символов в строке, не включая нулевой символ.
Прототип функции int strlen(const char *str).
Функция не должна использовать функции консольного ввода-вывода.
Задание 2
Написать функцию, поиска подстроки в строке. Функция принимает исходную строку и подстроку для поиска и возвращает адрес подстроки, если подстрока найдена, 0 в противном случае. Обращение к символам строки после нулевого символа недопустимо.
Прототип функции char *find(const char *str, const char *substr).
Функция не должна использовать функции консольного ввода-вывода.
Задание 3
Написать функцию, удаления подстроки в строке. Функция принимает исходную строку и подстроку для поиска. С помощью функции find найти адрес начала подстроки и затем удалить эту подстроку. Оставшиеся в конце символы заполнить нулями. Обращение к символам строки после нулевого символа недопустимо.
Прототип функции void delete(char *str, const char *substr).
Функция не должна использовать функции консольного ввода-вывода.
Задание 4
Написать функцию копирования строк. Функция принимает исходную строку, буфер для копирования и размер буфера. Если длина исходной строки больше размера буфера, необходимо скопировать столько символов, сколько вместится в буфер, не забыв добавить в конце строки нулевой символ.
Прототип функции void strcpy(char *dest, int len, const char *src).
Функция не должна использовать функции консольного ввода-вывода.
Задание 5
Написать функцию конкатенации строк. Функция принимает исходные строки, буфер для размещения и размер буфера. Если сумма длин исходных строк больше размера буфера, необходимо скопировать столько символов, сколько вместится в буфер, не забыв добавить в конце строки нулевой символ.
Прототип функции void strcat(char *dest, int len, const char *first, const char *second).
Функция не должна использовать функции консольного ввода-вывода.