Функция ввода данных с клавиатуры sсanf()
Модификаторы спецификаций преобразования
Функция вывода данных на экран printf ()
СТАНДАРТНЫЕ ФУНКЦИИ ВВОДА И ВЫВОДА
Операторы безусловных переходов
а) Оператор goto метка. Осуществляет переход на любую точку программы вверх и вниз. Имя метки задается согласно правилам создания идентификатора.
goto m1;
...
m1: оператор;
б) Оператор break. Служит для досрочного выхода из цикла. Применяется в любых циклах. В случае вложенных циклов осуществляет выход только из внутреннего цикла.
while (условное выражение1) {
...
if(условное выражение2)
break;
...
}
в) Оператор continue. Служит для пропуска группы операторов и выхода на начало цикла.
for(i=0; i<10; i++) {
...
if(условное выражение2)
continue;
...
}
while((ch = getchar())!=EOF){
if (ch=='/n')
break; (continue;)
putchar (ch);
}
Функции ввода вывода служат для ввода данных в программу с клавиатуры и вывода их на экран.
printf ("Управляющая строка", список параметров);
|
|
Параметрами могут быть переменные, константы, выражения.
Управляющая строка - строка символов, показывающая, как должны быть напечатаны параметры. Обязательно берётся в кавычки. Состоит из литерных констант и спецификаций преобразования:
%d – целое %f – плавающий формат
%c – символ %lf – двойной точности
%s – строка %e – экспоненциальная форма
%i – целое %o – восьмиричная с.с.
%g – плавающий формат %x – шестнадцатеричная с.с.
%u – беззнаковое целое
Каждому аргументу должна соответствовать cвоя спецификация преобразования. %% - чтобы печатать символ %.
printf("Число pi равно % f/n," PI);
Общий вид модификаторов спецификаций преобразования
%[выравнивание][ширина][доп.признаки]символ преобразования
%[-][ширина]d – выравнивание по влевой границе
%[-][ширина][.точность]f
%[-][+][ширина]d – целое со знаком
%[-][#][ширина][l]u(o,x) – целое без знака, выводится 0 или 0х для восьмиричной или шестнадцатиричной системы счисления
%[-][+][#][ширина][.точночть]f(e, g) - # вывод дес.точки даже при нулевой точности. По умолчанию точность 6 цифр.
Цифры - ширина поля. Если число больше, то оно выходит за ширину поля.
%4.2f - количество печатаемых цифр после запятой 2, поле шириной 4 позиции.
/%d/ /3.36/ - "выбор по умолчанию"
%2d /336/
%10d / 336/
%-10d /336 /
%f /1234.560059/ 1234.56
%e /1.234560E+03/
%4.2f /1234.56/
%3.1f /1234.6/
%10.3f / 1234.560/
%10.3e / 1.234E+0.3/
/%s/ /'Выдающееся исполнение'/ 22 c.
/%25.s / Выдающееся исполнение'/
% 25.5s / Выдаю/
%-25.5 s /Выдаю /
% d 336
% o 520
% x 150
% d -336
% u 65200 от 32768-65536 - отрицательные числа
65535- -1 65536 - 336 = 65200
printf (" %d %c ", 'A', 'A'); //На экране 65 A
scanf ("Управляющая строка", список адресов параметров);
Используются те же спецификаторы, что и printf(). В качестве параметров указываются адреса переменных.
|
|
scanf("%d",&num);
8.4. Функции ввода/вывода одного символа getchar(), putchar()
Объявлены в заголовочном файле stdio.h.
# include <stdio.h>
void main() {
char ch;
ch = getchar(); тоже самое
putchar(ch); putchar (getchar());
}
(прямой ввод на экран без нажатия клавиши ENTER). Объявлены в заголовочном файле <conio.h>.
char ch=getch(); // ввод без эхоотображения.
char ch=getche(); //с эхоотображением на экране.
8.6. Ввод/вывод в поток в С++
Система ввода/вывода – неотъемлемая часть среды программирования С++, и она занимает в языке особое место.
В заголовочном файле iostream.h содержаться следующие объявления одного потока ввода и трех потоков вывода:
extern istream_withassign _Cdecl cin; //Объект потока ввода
extern ostream_withassign _Cdecl cout; //Объект потока вывода
extern ostream_withassign _Cdecl cerr; //Объект потока вывода ошибок
extern ostream_withassign _Cdecl clog; //Объект буферизованного потока вывода ошибок
Поток является промежуточным звеном между программой и устройством ввода и вывода. Поток может быть присоединён к различным устройствам: консоли, принтеру, фиктивному устройству, а так же к файлам на диске.
cin >> v; // Прочитать из стандартного потока ввода
cout << v; // Записать в стандартный поток вывода
Обычно стандартный поток вывода cout присоединен к экрану терминала. Простейшая программа, использующая операцию вывода, имеет следующий вид:
#include <iostream..h>
void main(void)
{
cout << “Hello, world!”;
}
Приоритет операций << и >> позволяет помещать в оператор вывода арифметические выражения, не прибегая к использованию скобок, зато при использовании логических выражений или операций присваивания скобки использовать необходимо:
cout << “x+y =” << x+y <<”; x&y =” << (x&y) << “\n”;
Для ввода данных в программу используется стандартный поток ввода. Он имеет много общего с выводом данных. Обычно стандартный поток ввода соединен с клавиатурой cin.
int i;
float y;
cin >> i >> f;