Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ - С-С++методичка и титул.doc
Скачиваний:
12
Добавлен:
08.11.2019
Размер:
789.5 Кб
Скачать

Форматированный вывод

Для вывода данных из компьютера на экран дисплея используется функция вывода:

printf (“форматная строка” , аргумент1, …) , где

форматная строка может содержать компоненты трех типов:

  • обычные символы, которые можно использовать для пояснения при выводе;

  • спецификации форматов данных, задаваемых в списке выводимых переменных;

  • управляющие символьные константы, например, \n – новая строка;

аргумент1, … – список переменных или выражений, значения которых выводятся в соответствии с заданными спецификациями форматов.

Список аргументов может отсутствовать, и тогда выводится только содержимое форматной строки, например, в виде поясняющего текста или примечания.

При выводе вещественных чисел компилятор выводит все цифры дробной части числа. Для вывода числа с заданной точностью программист должен уточнить формат вывода в виде: %m.nf,

где m – количество всех символов (знак, все цифры, разделитель точка), а n – количество цифр в дроби. Например, нас интересует только вывод с инженерной точностью до двух цифр в дроби в форме: -С.СС, где С – цифра, тогда формат такого числа имеет вид: %5.2f.

Пример 2.

Вывести для контроля данные, введенные в прошлом примере:

printf ( '' Исходные данные:\n'' );

printf ( '' m=%d p1=%5.2f sim=%c str=%s'', m, p1, sim, str );

На экране появятся строки:

Исходные данные:

m=25 p1=37.08 sim=r str=Hello

Неформатированный ввод-вывод

Для ввода-вывода символов и строк можно использовать соответствующие функции стандартного ввода-вывода (stdio.h).

Функция ввода символов (без параметров):

getchar ( )

определяет ASCII-код нажатой клавиши, записывает его в буфер ввода stdin, а после нажатия клавиши <Enter> передает в оперативную память для ввода в переменную, описанную с типом int или char.

Функция вывода символа:

putchar (ch)

преобразует ASCII-код, записанный в переменной ch (тип int или char), в символ, выводимый на экран.

Пример 3. Ввести и вывести символ, а затем определить его коды (10-чный, 8-чный, 16-чный ).

char ch; /* переменная для символа */

printf ( ''Нажмите клавишу символа, а затем Enter: '');

ch = getchar( ); /* ввод кода символа */

printf (“\nВывод символа:”);

putchar (ch);

printf (“\nСимвол\t10-чный\t8-чный\t16-чный коды\n”);

printf (“%c\t%d\t%o\t%x”, ch, ch, ch, ch);

Функция ввода строки символов:

gets(string) , где

string – указатель (адрес) для ввода строки символов, например, имя массива символов.

В отличие от функции scanf(“%s”, string), которая вводит символы до первого пробела, функция gets(string) вводит все символы, включая пробелы.

Функция вывода строки символов:

(string), где

string – либо сама строка, либо указатель (адрес) области памяти, откуда выводится строка, например, имя массива символов.

Эта функция аналогична функции printf(“%s”, string), но при этом puts автоматически выполняет перевод курсора экрана на новую строку.

Пример 4.

Ввод-вывод строк символов.

char name[30]; // Описание символьного массива name

puts (“Введите Вашу фамилию и имя:”); // Вывод строки

gets (name); // Ввод фамилии и имени в массив

printf (“\nЗдравствуйте, “); // Вывод строки

puts (name); // Вывод строки из массива

При вводе с клавиатуры строки Петров Иван, в массив символов name будут введены оба слова, а при использовании функции scanf(“%s”, name) будет введено только первое слово.