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

Для функции scanf приемлема следующая форма операторной записи:

scanf ("СтрокаФормата", АдресаАргументов);

где:

СтрокаФормата состоит из необязательных символов, приводимых пользователем, и символов, определяющих собственно спецификацию (-ции) формата(-ов) преобразования значений вводимых данных в машинное представление (последовательности нулей и единиц);

АдресаАргументов – одно либо несколько имен соответственно объектов и ссылок на их адреса, перечисленных через запятую. Адрес памяти, которой поставлен в соответствие простой объект, извлекается операцией взятия адреса &, то есть описывается как &ИмяОбъекта.

Для функции scanf спецификация СтрокаФормата имеет синтаксис:

%[*][Ширина][Модификатор]Тип

где:

* – вводимое значение не присваивать переменной;

Ширина – максимальное число вводимых символов;

Модификатор – один из символов h – short int;

l – long int;

L – long double;

Тип – символ типа. Значения типов (спецификаторы) формата ввода:

 

Символ формата Тип Описание
%i int целое число; оно может быть восьмеричным (с нулем слева) или шестнадцатеричное (с '0х' или '0Х' слева)
%d int десятичное целое число
%o int восьмеричное целое число (с нулем слева или без него)
%u unsigned int десятичное беззнаковое целое число
%x, %X int шестнадцатеричное целое число (с '0х' или '0Х' слева или без них)
char символ
%s строка символов строка символов (вводится без кавычек)
%f, %F %e, %E %g, %G float десятичное вещественное число, возможно со знаком; обязательно присутствие либо десятичной точки, либо экспоненциальной части, а возможно обеих вместе
%lf, %lF %le, %lE %lg, %lG double / long double

 

В СтрокеФормата функции scanf могут быть указаны любые символы (кроме символов пробела, табуляции, новой строки и '%'). Причем при запросе выполняемой программы эти символы (называемые образцом ввода) должны быть введены с клавиатуры в указанной последовательности.

Пример 4.

// Программа форматированного ввода-вывода данных

#include <stdio.h>

 

void main(){

int t;

float p;

char s;

 

scanf("%c",&s);

printf("s=%c\n",s);

scanf("%d",&t);

printf("t=%d\n",t);

scanf("%f",&p);

printf("p=%f\n",p);

}

 

Пример 5.

//Программа форматированного ввода-вывода данных

#include <stdio.h>

 

void main(){

int year, /*год рождения*/

height, /*рост*/

weight;/*вес*/

 

printf("Введите год рождения \n");

scanf("%d", &year);

printf("Введите рост \n");

scanf("%d", &height);

printf("Введите вес \n");

scanf("%d", &weight);

 

printf("\nВведенные данные: год рождения %d, рост %d,

вес %d\n", year, height, weight);

}

 








Дата добавления: 2015-02-16; просмотров: 628;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.