
1 семестр ФИБС / Информатика / Лабораторные / ФИО_ЛР5_номер группы
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИИСТ
отчет
по лабораторной работе №5
по дисциплине «Информатика»
Тема: Знакомство с операторами форматного ввода/вывода
Студентка гр. номер |
|
ФИО |
Преподаватель |
|
Куракина Н.И |
Санкт-Петербург
20__
Цель.
Знакомство с операторами форматного ввода/вывода.
Задание.
Реализовать код простейшей программы. Объяснить отличие от программы п.3 Лабораторной работы №4.
Реализовать код другой программы. Запустить и объяснить полученные сообщения об ошибках. Исправить ошибку, запустить программу и объяснить полученный результат.
Провести эксперименты с программой для того, чтобы узнать, что произойдет, если в строке вывода числа, вместо %5d будет содержаться %10d, %-10d. Объяснить результаты.
Реализовать код ещё одной программы. Запустить и объяснить полученные результаты.
Основные теоретические положения.
Функции printf и scanf - выполняют форматированный ввод и вывод произвольного количества величин в соответствии с управляющей строкой. Управляющая строка (строка формата) содержит символы, которые при выводе копируются на экран или запрашиваются с клавиатуры при вводе, а также спецификации преобразования, которые при вводе и выводе заменяются конкретными величинами. Список аргументов состоит из переменных и/или констант, значения которых должны быть выведены.
Спецификаторы формата - начинаются с символа % и заканчиваются символом, определяющим тип выводимого значения.
Модификаторы формата - между знаком % и символом спецификатора могут символы и цифры для управления видом выводимого значения. Они называются модификаторы формата.
Результаты работы.
Реализовать код представленной программы.
Отличие от программы п.3 в Лабораторной работе №4 в том, что в данной программе отсутствует заголовочный файл <cstdlib>. Также функция cout была изменена на функцию printf.
В результате выводится следующее сообщение
Реализовать код другой программы.
В результате выполнения программы появились следующие сообщения об ошибках.
Они появились, т.к. num никак не была объявлена.
Для устранения ошибки нужно объявить num с помощью типа данных int.
Результатов выполнения программы является окно, в которое нужно ввести число.
При вводе числа появляется следующее:
Проведём эксперименты, заменяя %5d на %10d и %-10d.
При замене на %10d наблюдаем следующее:
При замене на %-10d наблюдаем следующее:
Спецификаторы преобразования %5d, %10d, %-10d указывают на количество знаков, которое отведено для числа (при %5d – пять знаков, при %10d – десять знаков). Если число содержит меньше знаков, чем заявлено, то место под знаки будет заполняться «пробелами», что и наблюдается при изменении числа 5 на 10.
Отрицательный знак говорит о печати аргумента с левой позиции поля заданной ширины.
Реализуем код следующей программы.
В результате получается следующее:
Переменная имеет тип short, диапазон которого -32678;32767. Так как переменной присвоено значение 65535, что выходит из данного диапазона, происходит переполнение. В результате переменная возвращается к своему минимальному значению.
Выводы. В результате работы были изучены операторы форматного ввода/вывода. Проделаны задания с помощь этих операторов. Улучшены навыки работы с Dev C++.