КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Консольные функции вывода данных на экран
Потоковый ввод-вывод Поток – это абстрактное понятие, которое относится к любому переносу данных от источника к приемнику. Потоки С++ обеспечивают надежную работу как со стандартными (stdin, stdout), так и с определенными пользователем типами данных. Поток определяется как последовательность байтов, не зависящая от конкретного устройства. Для ввода-вывода в консольных приложениях в языке С++ используются два объекта класса iostream: cin (класс istream), cout (класс ostream) и две операции: >> и <<. Для их работы необходимо подключить заголовочный файл iostream.h. Формат записи операций извлечения из потока >> (ввод с клавиатуры) и помещения в поток << (вывод на экран) следующий: cout << выражение; cin >> ID(имя) переменной; Стандартный поток вывода cout по умолчанию связан со стандартным устройством вывода stdout (дисплей монитора), а ввода cin – со стандартным устройством ввода stdin, т.е. клавиатурой. Приведем пример: #include<iostream.h> void main (void) { int i, j, k; cout << “ Hello! ” << endl; // «end line» – переход на новую строку cout << “ Input i, j ”; cin >> i >> j; k = i + j; cout << “ Sum i, j = “ << k << endl; } Наряду с потоковым вводом-выводом, в консольных приложениях применяются и функции ввода-вывода языка Си. Их декларации приведены в заголовочных файлах stdio.h и conio.h. Для вывода информации на экран монитора (дисплей) в языке Си служат функции printf () и puts (). Формат функции форматного вывода на экран: printf (управляющая строка, список объектов вывода); В управляющей строке, заключенной в кавычки, записывают: текст, выводимый на экран; спецификаторы форматов, указывающие компилятору способ вывода объектов (каждый спецификатор формата начинается с символа ' %'). В списке объектов вывода указываются выводимые на экран переменные, константы или выражения, разделенные запятыми. Список объектов вывода может отсутствовать. Каждый из спецификаторов формата соответствует своему объекту из списка вывода, в порядке следования. Поэтому количество и порядок следования спецификаторов форматов должны совпадать с количеством и порядком следования выводимых объектов. Функция printf выполняет вывод данных в соответствии с указанными форматами. Весь остальной (кроме спецификаторов форматов) текст управляющей строки выводится на экран без изменений. Имеется большое количество различных спецификаторов формата. Основные из них: % d (% i) – десятичное целое число; % u – беззнаковое десятичное целое число; % f – вещественное число, запись с фиксированной точкой; % е – вещественное число, экспоненциальная запись; % g – вещественное число, запись с фиксированной точкой либо экспоненциальная запись, в зависимости от значения величины; % o – восьмеричное число без знака; % x – шестнадцатеричное целое число без знака (малые буквы a-f); % X – шестнадцатеричное целое число без знака (большие буквы A-F); % c – один символ; % s – строка символов (массив char).
Для "длинных" типов чисел добавляется символ l: % ld – long (длинное целое), % lf – double (вещественное число с удвоенной точностью). Для еще более длинных типов чисел вместо l добавляется L: %Ld - long long, %Lg - long double в соответствии с форматом %g. Если нужно напечатать сам символ %, то его нужно указать 2 раза: printf ("Только %d%% предприятий не работало. \n", 5); Получим: Только 5% предприятий не работало.
Пример: int number = 5; float but = 255; int cost = 11000; printf(" %d студентов съели %f бутербродов. \n", number, but); printf(" Значение числа pi равно %f. \n", M_PI); printf(" Стоимость этой вещи %d %s. \n", cost, "Руб."); ...
В спецификаторах формата функции printf после символа % можно указывать число, задающее минимальную ширину поля вывода, например, %5d – для целых, %4.2f – для вещественных (означает поле общей шириной 4 символа, две цифры после запятой). Недостающие позиции будут слева заполнены пробелами (если нужно заполнить их нулями, перед шириной поля надо поставить символ '0', например: %05d). Если, наоборот, указанных позиций не хватает для вывода целой части числа, то происходит автоматическое расширение поля до нужной ширины. Если после «%» указан знак «минус», то выводимое значение будет выравниваться по левой (а не по правой) позиции поля вывода заданной ширины, например: %–10d. Использование функции printf для преобразования данных: 1) 2) printf("%o", 336); получим: 520, т.е. 5*82+2*8+0*1 = 336; 3) printf("%x", 335); получим: 14f (шестнадцатеричное). Можно использовать функцию printf для нахождения кода ASCII некоторого символа: printf (" %c – %d\n", 'a', 'a'); получим десятичный код ASCII символа а: a – 65.
Функция puts (" строка "); выводит на экран дисплея строку символов, автоматически добавляя к ней символ перехода на начало новой строки (\n). Аналогом такой функции будет: printf("строка\n");
Дата добавления: 2014-01-07; Просмотров: 435; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |