Функции небуфиризированного ввода с клавиатуры

Функция ввода данных с клавиатуры 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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: