Студопедия — Форматный ввод
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






Гораздо более сложным для начинающих программистов является ввод числовых данных, организуемый с помощью функции scanf, использующей так называемую форматную строку:

Общий вид записи оператора ввода

scanf(" форматная строка ", cпиcoк адресов переменных);

форматы ввода адреса вводимых переменных

Форматы ввода - это строка в кавычках, в которой перечислены один или несколько форматов (спецификаторов) ввода данных (% - признак спецификатора):

%d - ввод целого числа (для переменной типа int)

%f - ввод вещественного числа (для переменной типа float)

- ввод одного символа (для переменной типа char)

После форматов ввода через запятую перечисляются адреса ячеек памяти, в которые надо записать введенные значения. Почувствуйте разницу:

a - значение переменной a

& a - адрес переменной a

Например:

#include " stdafx.h"

int main(){ int p; float k; double m;.......... scanf(" %d %f %lf", & p, & k, & m);..........}

Для обеспечения форматного ввода к программе следует подключить заголовочный файл stdio.h. Строка вводимых данных поступает со стандартного устройства ввода (stdin), которым по умолчанию считается клавиатура. Завершение набора строки ввода - нажатие клавиши Enter.

Первый аргумент функции scanf представляет форматную строку, управляющую процессом преобразования числовых данных, набранных пользователем в строке ввода, в машинный формат, соответствующий типам переменных, адреса которых указаны вслед за форматной строкой.

В приведенном примере переменной p (в списке ввода указан ее адрес - & p), объявленной с помощью спецификатора типа int, соответствует спецификатор %d. Это означает, что первым числовым значением, набранным на клавиатуре, может быть только целое десятичное число со знаком (d - от decimal, десятичный). Вещественной переменной k типа float в форматной строке соответствует формат %f. Это означает, что второе числовое значение в строке ввода должно принадлежать диапазону, предусмотренному для коротких вещественных данных. Для переменной m типа double использован формат %lf (l (это буква эль)- от long).

Количество форматов в строке должно быть равно количеству адресов в списке.

Кроме того, тип переменных должен совпадать с указанным форматом: например, если a и b - целые переменные, то следующие вызовы функций ошибочны

scanf (" %d %d", & a);

неясно, куда записывать второе введенное число;

scanf (" %d %d", & a, & b, & c);

переменная c не будет введена, так как для нее не задан спецификатор;

scanf (" %f %f", & a, & b);

нельзя вводить целые переменные по вещественному формату.

Если значения данных вводятся в одной строке, то они отделяются друг от друга одним или несколькими пробелами.

Пример ввода:

Пусть в задаче определены следующие исходные данные:

а = 4; х = 3, 8; у =1, 2*104; к=5; т = 74

Оператор ввода:

scanf(" %d %f %f %d %d", & a, & х, & у, & k, & m);

вызывает чтение данных с клавиатуры, набранных следующим образом:

4 3.8 1.2Е4 5 74 [Enter]

%d %f %f %d %d - такой список форматов будет соответствовать следующему описанию переменных в программе:

main()

{ int a, k, m;

float x, y;







Дата добавления: 2014-11-12; просмотров: 920. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Studopedia.info - Студопедия - 2014-2024 год . (0.038 сек.) русская версия | украинская версия