Операторы вывода данных на экран
Потоковый вывод Для начинающих программистов организация потокового вывода числовой информации на стандартное устройство вывода экран (stdout) представляется более простой: #include <iostream>using namespace std; int main(){ int i; float f; double d;.......... cout << i+1 << f << f*d;..........}Здесь на первых порах не надо заботиться о форматах выводимых результатов. Для каждого типа данных существуют соответствующие системные соглашения. Для вывода пробелов между числами на экране достаточно включить в поток символьные строчки, как это показано в следующем примере: cout << i+1 << " "<<f << " "<< f*d;Переход в начало следующей строки вывода на экране осуществляется путем включения в список вывода признака конца строки endl, например: cout << i+1 << endl << f << " "<<f*d; В таком случае значения переменных f и f*d будут выведены на новую строку экрана. Форматный вывод Форматный вывод числовых результатов на стандартное устройство вывода (stdout), которым по умолчанию является экран дисплея, осуществляется с помощью функции printf. Общий вид записи оператора printf("список форматов",cпиcoк имен переменных и выражений); Например: printf ("Результат: %d + %d = %d \n", a, b, c); Содержание скобок при вызове функции printf очень похоже на функцию scanf. Сначала идет символьная (управляющая) строка — форматы вывода, — в которой можно использовать специальные символы: %d - вывод целого числа %f - вывод вещественного числа %с - вывод одного символа %s - вывод символьной строки \n - переход в начало новой строки экрана все остальные символы (кроме некоторых других специальных команд) просто выводятся на экран. В форматной строке мы сказали компьютеру, какие данные (целые, вещественные или символьные) надо вывести на экран, но не сказали откуда (из каких ячеек памяти) их брать. Поэтому через запятую после форматов вывода надо поставить список чисел или имен переменных, значения которых надо вывести. В список вывода могут входить арифметические выражения, значения которых предварительно будут подсчитаны, а потом выведены в соответствии с использованными форматными указателями. Выражения и имена переменных в списке вывода перечисляются через запятую. В качестве простейших выражений могут быть константы, переменные, символы, строки.
printf ("Результат: %d + %d = %d \n", a, 5, a+5); Так же, как и для функции scanf, надо следить за совпадением типов форматов и типов переменных, а также количества форматов вывода и переменных. Пример1: #include "stdafx.h" int main(){ int i; float f; double d;.......... printf("%d %f %lf", i+1, f, f*d);..........}Пример 2: Операторы printf("Выходные данные:\n"); printf("K=%d y=%f", 8+5, 7.0/10); выводят на экран результаты в следующем виде: Выходные данные: К=13 у=0.7 Управление выводом данных При стандартной форме вывода вещественные числа отображаются на экране с шестью знаками после запятой. Мантисса выводится в нормализованном виде, т.е. с одной значащей цифрой в целой части и десятью цифрами в дробной части. На порядок отводится четыре позиции: первая позиция - под букву Е, вторая позиция - под знак порядка, третья и четвертая позиции - под цифры порядка. Если программиста не устраивает стандартная форма вывода, он может использовать специальный форматированный вывод, в котором предусмотрены следующие параметры: 1. Ширина поля, определяющая число позиций на экране, отводимых для вывода всего числа, включая целую, дробную части, знак и десятичную точку. 2. Точность представления вещественного числа, определяющая число позиций в дробной части. Вещественное число с указанием форматов всегда выводится в десятичной форме. Для целого числа используется только формат ширины поля.
В операторах вывода параметры форматов записываются после знака % и отделяются друг от друга точкой. Например, при записи оператора printf("K=%3d у=%5.2f",8+3,7.0/10); результаты отображаются на экране в следующем виде: К= 11 у = 0.70 В приведенном примере в форматах %3d и %5.2f параметры 3 и 5 задают ширину поля, 2 - точность выводимого числа, т.е. значение выражения 7./10 будет выведено на экран с двумя значащими цифрами после запятой. Пример линейной программы Составить программу вычисления площади треугольника по формуле: где - полупериметр; а,b,с - стороны треугольника. Исходные данные: а = 1; b = 2; с = 0,5.
#include "stdafx.h" #include<math.h> int main() { float a, b, c, p, S;/* описание всех переменных, используемых в программе */ printf("Введите исходные данные "); scanf("%f %f %f",&a, &b,&с); /* ввод с клавиатуры значений для а, b и с */ p = (a + b + c) / 2; // вычисление полупериметра S = sqrt(p *(p - a)*(p -b)*(p - c)); // вычисление площади /*Вывод на экран*/ printf("Площадь треугольника S =%5.2f", S); return 0; } При выполнении оператора scanf процессор переходит в режим ожидания набора исходных данных с клавиатуры. Для продолжения работы надо набрать на клавиатуре: 1 2 0.5 [Enter] После нажатия клавиши [Enter] программа продолжит выполнение и на экран будет выведен результат в следующем виде: Площадь треугольника S = 3.87
Контрольные задания 1. Записать на языке С++ операторы присваивания
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|