Каждому объекту из списка, следующего за строкой формата должна соответствовать своя спецификация формата преобразования данных. При выводе данных на ее место подставляется значение объекта. Общий вид записи спецификации формата преобразования
%[<флаг>][<ширина>][.<точность>]<тип преобразования > где:
<флаг> - символ, устанавливающий форму вывода (“-“ - выравнивание влево, “+” – вывод знака числа и т.д.);
<ширина> - число, устанавливающее максимальную ширину поля вывода;
<точность> - число, устанавливающее максимальное количество позиций после десятичной точки, предназначенных для вывода данных;
тип преобразования - символ, указывающий как должны трактоваться данные, хранящиеся в памяти компьютера при их выводе на экран.
Используются следующие символы для задания типа преобразования данных при их выводе:
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. Модифицировать программу таким образом, чтобы ввод объектов, значениями которых являются символы и их последовательности, производился с помощью функций неформатного ввода
При программировании вычислительных процессов используются математические функции библиотеки компилятора. Для обеспечения возможности обращения к ним в программе должна указываться директива препроцессора #include <math.h>. Все математические функции результатом своей работы имеют вещественные числа типа double. Описание некоторых функций дано в таблице.
функция |
назначение функции |
значения аргументов |
sin(x) |
вычисляет синус угла x |
вещественное число |
cos(x) |
вычисляет косинус угла x |
в диапазоне |
tan(x) |
вычисляет тангенс угла x |
от -2p до 2p |
asin(x) |
вычисляет арксинус величны x |
вещественное число |
acos(x) |
вычисляет арккосинус величны x |
в диапазоне |
atan(x) |
вычисляет арктангенс величны x |
от -1 до 1 |
sqrt(x) |
вычисляет корень квадратный из x |
|
exp(x) |
вычисляет значение e в степени x |
|
log(x) |
вычисляет натуральный логорифм от x |
любое |
log10(x) |
вычисляет десятичный логорифм от x |
вещественное |
ceil(x) |
округляет число х путем отбрасывания дробной части |
число |
floor(x) |
округляет число х до наибольшего целого, не превышающего х |
|
pow(x,y) |
вычисляет значение x в степени y |
любые |
fmod(x,y) |
вычисляет остаток от деления x на y |
вещественные числа |
Для организации разветвляющихся процессов используются условный оператор if и оператор-переключатель switch
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.