This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:programming:topic3 [2016/09/21 17:32] kkv |
courses:programming:topic3 [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
=== Практические задачи ввода вывода === | === Практические задачи ввода вывода === | ||
- | + | * Указатели. Передача аргументов функции с использованием указателей. | |
- | * Построение диалоговой системы (Цикл: приглашение системы и вопрос -> ввод пользователем ответов -> интерпретация ответа); Обратить внимание на возможное переполнение буфера ввода, показать как бороться с ошибкой, как диагностировать. | + | |
* Ввод форматированных данных через scanf, используя несколько параметров разного типа в сроке. Например "%s %d %x". Обратить внимание на вводы строк: адрес первого элемента массива, адрес строки. | * Ввод форматированных данных через scanf, используя несколько параметров разного типа в сроке. Например "%s %d %x". Обратить внимание на вводы строк: адрес первого элемента массива, адрес строки. | ||
- | * Демонстрация ввода массива (из файла с помощью перенаправления). Первая строка содержит количество элементов, затем идут элементы. Вычисление значения по всем элементам, например суммы. | ||
* Пример на обработку возвращаемых значений printf/scanf | * Пример на обработку возвращаемых значений printf/scanf | ||
- | * Примеры на печать и чтение из/в строки (функции sscanf, sprintf) | + | * Демонстрация ввода массива (из файла с помощью перенаправления). Вычисление значения по всем элементам, например суммы |
- | * Интерпретация кодов символов. Например программа считывает из стандартного потока бинарный набор байт и печатает его побайтно в виде 16-ричных кодов. Затем в виде целых беззнаковых short. Бинарным потоком может являться сам исподняемый файл, т.е. ./a.out <./a.out Также для справки см. hexdump -C | + | * Строки как массивы символов с нулевым символом на конце |
+ | * Ввод строк. Использование fgets вместо потенциально опасных для строк gets и scanf | ||
+ | * Построение диалоговой системы (Цикл: приглашение системы и вопрос -> ввод пользователем ответов -> интерпретация ответа) | ||
+ | * Демонстрация последствий использования gets (модификация других переменных вследствие переполнения буфера) | ||
+ | |||
+ | * <del> Примеры на печать и чтение из/в строки (функции sscanf, sprintf)</del> | ||
+ | * <del> Интерпретация кодов символов. Например программа считывает из стандартного потока бинарный набор байт и печатает его побайтно в виде 16-ричных кодов. Затем в виде целых беззнаковых short. Бинарным потоком может являться сам исподняемый файл, т.е. ./a.out <./a.out Также для справки см. hexdump -C</del> | ||