Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


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




Примечание

Тексты в Си записываются в кавычках. В языке Си отсутствует специальный тип для работы со строками. Вместо этого строки представляются как массив типа char. Элементы строки, хранясь в массиве, записываются в смежные ячейки памяти. В конце строки ставится отметка \0. Наличие этой отметки говорит о том, что строка должна иметь размер на единицу больший, чем количество символов. Объявляется строка указанием типа char и записью размера в [].

Пример:

char name[40];

Для работы со строками к программе необходимо подключить файл string.h.

Каждая из функций ввода/вывода использует управляющую строку и список аргументов. Управляющая строка записывается первой и заключается в кавычки. Управляющие строки и аргументы не перемешиваются. Управляющие строки прежде всего содержат указание на вывод значения того или иного типа. Их называют спецификаторами преобразования.

Форматированный ввод с клавиатуры. Оператор вызова функ­ции scanf () имеет следующую структуру:

scanf (форматная_строка, список_аргументов);

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

Оператор:

Scanf(”%f”,&a)

Здесь “%f “ - форматная строка; &а — список аргументов, со­стоящий из одного элемента. Этот оператор производит ввод чис­лового значения в переменную а.

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

Список аргументов — это перечень вводимых переменных, при­чем перед именем каждой переменной ставится значок &. Это знак операции «взятие адреса переменной». Подробнее смысл этого дей­ствия будет объяснен позже, а пока примем это правило фор­мально.

Форматная строка заключается в кавычки (как и для printf) и состоит из списка спецификаций. Каждая спецификация начи­нается со знака %, после которого могут следовать

* ширина_поля модификатор спецификатор

Из них обязательным элементом является лишь спецификатор. Для ввода числовых данных используются следующие специфика­торы:

d — для целых десятичных чисел (тип int);

u— для целых десятичных чисел без знака (тип unsigned int);

f — для вещественных чисел (тип float) в форме с фикси­рованной точкой;

е — для вещественных чисел (тип float) в форме с плаваю­щей точкой.

Звездочка в спецификации позволяет пропустить во входном потоке определенное количество символов. Ширина поля — целое положительное число, позволяющее определить число символов из входного потока, принадлежащих значению соответствующей вводимой переменной. Как и в спецификациях вывода для функ­ции printf (), в спецификациях вводи функции scanf () допус­тимо использование модификаторов h, l, L. Они применяются при вводе значений модифицированных типов:

hd — для ниодп значений чипа short int;

ld — для ввода значений типа long int:

lf, le - для ввода значений типа double в форме с фикси­рованной и плавающей точкой:

Lf, Le - для ввода значений типа 1ong double в форме с фиксированной и плавающей точкой.

Три величины а. b, с можно ввести одним оператором:

scanf(“%f%f%f “,&a,&b,&c);

Если последовательность ввода будет такой:

5 3.2 2.4 <Enter>

то переменные получат следующие значения: a = 5,0, b = 3,2, с = 2,4. Разделителем в потоке ввода между различными значени­ями может быть любое количество пробелов, а также другие про­бельные символы: знак табуляции, конец строки. Только после нажатия на клавишу Enter вводимые значения присвоятся соот­ветствующим переменным. До этого входной поток помещается в буфер клавиатуры и может редактироваться.

Пример ввода-вывода целого и вещественного чисел, символа и строки:

Int a;





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


Дата добавления: 2015-09-20; Мы поможем в написании ваших работ!; просмотров: 698 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Надо любить жизнь больше, чем смысл жизни. © Федор Достоевский
==> читать все изречения...

2376 - | 2051 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.