Справочная информация
Для того чтобы компьютер мог производить обработку данных они должны быть размещены в его памяти. В Си любая область памяти, которая используется компьютером, называется объектом. Все объекты описываются с помощью специальных записей в программе, называемых объявлениями или определениями. Они задают такие признаки объекта как имя, тип, область действия и время жизни. Описания объектов имеют следующий формат
[=];
— одно или несколько ключевых слов, определяющих тип объекта;
— элемент описания, по которому устанавливаются имя и структура объекта (при описании простой переменной описатель представляет собой идентификатор, при описании массива за его именем указываются открывающая и закрывающая квадратные скобки и т.д.);
— начальное значение (список начальных значений), присваиваемых объекту при его объявлении.
Наиболее часто используемые простейшие типы данных приведены в таблице.
Таблица
Обозначение (ключевое слово) | Наименование | Значение объекта |
int | Целый | Целое число |
float | С плавающей точкой одинарной точности | Вещественное число |
double | С плавающей точкой двойной точности | |
char | Символьный | Символ |
При организации ввода информации с клавиатуры и вывода ее на дисплей (консольного ввода-вывода данных) в Си-программах используются стандартные библиотечные функции. Для обеспечения возможности обращения к ним в программе обязательно должна указываться директива препроцессора Include
Различают два вида консольного ввода-вывода: форматированный и неформатированный.
Форматированный ввод-вывод позволяет за одно обращение к библиотечной функции обрабатывать несколько объектов данных. Запись оператора обращения к стандартной функции форматного консольного вывода имеет вид
printf (“” [,]); где:
строка формата — совокупность необязательных символов, задаваемых программистом, и спецификаций формата преобразования данных;
аргументы — имена объектов, перечисленные через запятую.
Каждому объекту из списка, следующего за строкой формата должна соответствовать своя спецификация формата преобразования данных. При выводе данных на ее место подставляется значение объекта. Общий вид записи спецификации формата преобразования
%[][][.] где:
— символ, устанавливающий форму вывода (“-“ — выравнивание влево, “+” – вывод знака числа и т.д.);
— число, устанавливающее максимальную ширину поля вывода;
— число, устанавливающее максимальное количество позиций после десятичной точки, предназначенных для вывода данных;
тип преобразования — символ, указывающий как должны трактоваться данные, хранящиеся в памяти компьютера при их выводе на экран.
Используются следующие символы для задания типа преобразования данных при их выводе:
c – вывод одного символа;
d — вывод десятичного целого числа;
f — вывод десятичного вещественного числа в естественной форме представления;
e — вывод десятичного веществ енного числа в экспоненциальной форме представления;
s — вывод строки символов.
Три первых элемента записи спецификации формата преобразования в функции printf (флаг, ширина, точность) являются необязательными
Запись оператора обращения к стандартной функции форматного консольного ввода имеет вид
scanf (“” [,]); где:
— совокупность спецификаций формата преобразования данных, разделяемых между собой пробельными символами;
-адреса объектов, перечисленные через запятую.
В отличие от функции printf в функции scanf в качестве аргументов используются не имена объектов, а их адреса. Для того чтобы указать адрес объекта нужно перед его именем записать символ “” (символ амперсанд).
Спецификация формата преобразования данных в функции scanf имеет общий вид записи
%[], где:
— необязательное число, устанавливающее максимальную ширину поля ввода;
— обязательный символ, указывающий как должны трактоваться данные, вводимые с клавиатуры, при помещении их в память компьютера.
Используются следующие символы для задания типа преобразования данных при их вводе
c – ввод одного символа;
d — ввод десятичного целого числа;
g — ввод десятичного вещественного числа;
s — ввод строки символов.
Неформатированный ввод-вывод обеспечивает за одно обращение к библиотечной функции обработку только одного объекта данных, значениями которых могут быть одиночные символы и их последовательности. Для ввода одиночного символа используется функция getchar. Пример записи оператора обращения к ней имеет вид
Sy = getchar( );
По этому оператору функция getchar считывает введенный с клавиатуры символ и помещает его в оперативную память компьютера по адресу переменной Sy.
Кроме функции getchar имеется аналогичная ей функция getch. Она осуществляет ввод одиночного символа с клавиатуры компьютера без копирования на экран. Это делает ее очень удобной для организации паузы при исполнении программы. Как только встретиться оператор
Getch( );
компьютер переходит в режим ожидания ввода символа и никаких действий не производится до тех пор, пока не будет нажата какая-либо клавиша.
Для вывода одиночного символа используется функция putchar. Пример записи оператора обращения к ней имеет вид
putchar (); где:
— имя выводимого объекта (аргументом может быть символьная константа).
Неформатированный ввод-вывод символьных строк выполняют соответственно функции
gets() и puts()
В них имя- область памяти, в которой хранится символьная строка.
Задание.
2.1. Разработать программу форматного ввода-вывода объектов, значениями которых являются: целое число, вещественное число, символ, символьная строка. Вывод значений этих объектов произвести в таблице вида
Имя объекта | Значение объекта |
Перед завершением работы программы организовать паузу для просмотра результатов.
2.2. Модифицировать программу таким образом, чтобы ввод объектов, значениями которых являются символы и их последовательности, производился с помощью функций неформатного ввода
Лабораторная работа №6
Статьи к прочтению:
PASCALABC. Переменная. Тип данных. Ввод и вывод данных
Похожие статьи:
-
Ввод и редактирование данных 4 страница
2) Процентный данные — в этом формате значение ячейки умножается на 100, а результат отображается со знаком процента. Можно задать количество…
-
2.32.1. Форматные преобразования (sprintf, sscanf). Идеологию форматного ввода-вывода данных MATLAB заимствовал у языка программирования C, практически…