Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документ Microsoft Office Word.docx
Скачиваний:
16
Добавлен:
17.03.2015
Размер:
75.76 Кб
Скачать

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

Функция scanf( ) (прототип содержится в файле stdio.h) обеспечивает форматированный ввод. Ее можно записать в следующем формальном виде:

scanf("управляющая строка", аргумент_1, аргумент_2,...);

Аргументы scanf( ) должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. Назначение указателей будет рассмотрено далее.

Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В нее могут включаться:

  • пробелы, символы табуляции и перехода на новую строку (все они игнорируются);

  • спецификации преобразования, состоящие из знака %, возможно, символа * (запрещение присваивания), возможно, числа, задающего максимальный размер поля, и самого символа преобразования;

  • обычные символы, кроме % (считается, что они должны совпадать с очередными неизвестными символами во входном потоке).

Рассмотрим символы преобразования функции scanf( ) (указываются после символа %):

с - на входе ожидается появление одиночного символа; d или i - на входе ожидается десятичное целое число и аргумент является указателем на переменную типа int; D или l - на входе ожидается десятичное целое число и аргумент является указателем на переменную типа long; е или Е - на входе ожидается вещественное число с плавающей точкой; f - на входе ожидается вещественное число с плавающей точкой; g или G - на входе ожидается вещественное число с плавающей точкой; о - на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа int; О - на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа long; s - на входе ожидается появление строки символов; х - на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа int; Х - на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа long; р - на входе ожидается появление указателя в виде шестнадцатеричного числа; n - применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции (после ввода), в которой записана спецификация %n; u - на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned int; U - на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned long; [ ] - сканирует входную строку для получения символов.

Перед некоторыми символами преобразования могут записываться следующие модификаторы:

F - изменяет указатель, заданный по умолчанию, на указатель типа far; N - изменяет указатель, заданный по умолчанию, на указатель типа near; h - преобразует аргумент к типу short int (может записываться перед символами d, i, о, u, х); l - преобразует аргумент к типу long int (может записываться перед символами d, i, o, u, x); L - преобразует аргумент к типу long double (может записываться перед символами е, f, g).

Ввести целое число (int a;), символ (char b;) и вещественное число (float t;) можно так:

scanf("%d", &a);

scanf("%c", &b);

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

 

36)

Функция

Краткое описание

abs

нахождение абсолютного значения выражения типа int

acos

вычисление арккосинуса

asin

вычисление арксинуса

atan

вычисление арктангенса х

atan2

вычисление арктангенса от у/х

cabs

нахождение абсолютного значения комплексного числа

ceil

нахождение наименьшего целого, большего или равного х

_clear87

получение значения и инициализация слова состояния сопроцессора и библиотеки арифметики с плавающей точкой

_control87

получение старого значения слова состояния для функций арифметики с плавающей точкой и установка нового состояния

cos

вычисление косинуса

cosh

вычисление гиперболического косинуса

exp

вычисление экспоненты

fabs

нахождение абсолютного значения типа double

floor

нахождение наибольшего целого, меньшего или равного х

fmod

нахождение остатка от деления х/у

_fpreset

повторная инициализация пакета плавающей арифметики

frexp

разложение х как произведения мантиссы на экспоненту 2n

hypot

вычисление гипотенузы

labs

нахождение абсолютного значения типа long

ldexp

вычисление х*2exp

log

вычисление натурального логарифма

log10

вычисление логарифма по основанию 10

matherr

управление реакцией на ошибки при выполнении функций математической библиотеки

modf

разложение х на дробную и целую часть

pow

вычисление х в степени у

sin

вычисление синуса

sinh

вычисление гиперболического синуса

sqrt

нахождение квадратного корня

_status87

получение значения слова состояния с плавающей точкой

tan

вычисление тангенса

tanh

вычисление гиперболического тангенса

Система программирования MSC предоставляет дополнительно функции:

Функция

Краткое описание

bessel

вычисление функции Бесселя

dieeetomsbin

преобразование плавающего числа двойной точности из IEEE-формата в Microsoft-формат

dmsbintoieee

преобразование плавающего числа двойной точности из Microsoft-формата в IEEE-формат

fieeetomsbin

преобразование числа с плавающей точкой из IEEE-формата в Microsoft-формат

fmsbintoieee

преобразование числа с плавающей точкой из Microsoft-формата в IEEE-формат

Система программирования ТС предоставляет дополнительно функции:

Функция

Краткое описание

_matherr

управление реакцией на ошибки при выполнении функций из математической библиотеки

pow10

вычисление десятичной степени

37) Условный оператор if выполняет указанный оператор, если условие истинно (не равно 0). Иначе, если присутствует оператор else, выполняется альтернативный оператор. Допускаются вложения условных операторов, при этом else относится к ближайшему if. Возможной ошибкой может быть путаница между операцией присвоения = и операцией равенства ==.

38) Оператор выбора switch передает управление на одну из меток в зависимости от значения целочисленного выражения. Если значение выражения не предусмотрено в блоке switch и метка по умолчанию default отсутствует, то ничего не происходит. В качестве метки используются только константы. Для выхода из блока switch служит оператор break. По возможности лучше использовать этот оператор, чем множество операторов if.