|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Ввод и вывод информацииФорматный вывод Вначале рассмотрим функцию, определяющую форматный вывод: printf("управляющая строка", аргумент1, аргумент2,...); Управляющая строка содержит объекты трех типов: обычные символы, которые просто выводятся на экран дисплея, спецификации преобразования, каждая из которых вызывает вывод на экран значения очередного аргумента из последующего списка и управляющие символы-константы. Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразования. Символ преобразования связан с типом переменных. приведем символы преобразования: 1) d – значением аргумента является десятичное целое число; 2) o – значением аргумента является восьмеричное целое число; 3) x – значением аргумента является шестнадцатеричное целое число; 4) c – значением аргумента является символ; 5) s – значением аргумента является строка символов; 6) e – значением аргумента является вещественное число в экспоненциальной форме; 7) f – значением аргумента является вещественное десятичное число с фиксированной точкой; 8) u – значением аргумента является беззнаковое целое число; 9) p – значением аргумента является указатель (адрес). Если после знака % записан не символ, то он выводится на экран. Функция printf использует управляющую строку, чтобы определить, сколько всего аргументов и каковы их типы. Например, в результате работы программы получены переменная i, имеющая значение 100, и переменная j, имеющая значение 25. Обе переменные целого типа. Для вывода этих переменных на экран в виде i=100 j=25 необходимо применить функцию printf(“i=%d j=%d”,i,j); Как было описано выше, в кавычках задается формат вывода. перед знаком % записываются символы, которые будут непосредственно выданы на экран. После знака % применена спецификация d, т.к. переменные i и j имеют целый тип. Сами i и j приведены через запятую в списке аргументов. Если результат должен быть представлен в виде i=100; j=25 необходимо применить функцию printf(“i=%d; j=%d”, i, j); Если после знака % стоит цифра, то она задает поле, в котором будет выполнен вывод числа. Приведем несколько функций printf, которые будут обеспечивать вывод одной и той же переменной S целого типа, имеющей значение 336. Функция printf(“%2d”, S); выдает на экран: В этом примере ширина поля (она равна двум) меньше, чем число цифр в числе 336, поэтому поле автоматически расширяется до необходимого размера. Функция printf(“%6d”, S); выдаст на экран: _ _ _336 (6 позиций) То есть, в результате работы функции число сдвинуто к правому краю поля, а лишние позиции перед числом заполнены пробелами. Функция printf(“%-6d”, S); выдаст на экран: 336_ _ _ (6 позиций) Знак «минус» перед спецификацией приводит к сдвигу числа к левому краю поля. Рассмотрим вывод вещественных чисел. Если перед спецификацией f ничего не указано, то выводится число с шестью знаками после запятой. при печати числа с плавающей точкой перед спецификацией f тоже могут находиться цифры. Рассмотрим на конкретном примере три возможные ситуации: %6f – печать числа с плавающей точкой в поле из шести позиций; %.2f – печать числа с плавающей точкой с двумя цифрами после десятичной точки; %6.2f – печать числа с плавающей точкой в поле из шести позиций и двумя цифрами после десятичной точки. Например, в результате работы программы получены переменные вещественного типа а=3,687 и b=10,17. Если для вывода значений использована функция printf(“%7f %8f”,a,b); то результат будет представлен в виде строки: _ _ 3.687 _ _ _ _10.17 (7 поз.) (8 позиций)
Как видно из примера, лишние позиции заполняются пробелами. Если для вывода значений использована функция printf(“%.2f %.2f”, a, b); то результатом будет строка: 3.69 10.17, из которой следует, что в первом числе третья цифра после десятичной точки отброшена с округлением, т.к. указан формат числа с двумя цифрами после десятичной точки. Если для вывода значений использована функция printf(“%7.2f %e”,a,b); то будет выведена строка: _ _ _ 3.69 1.017000е+01 (7 позиций) Поскольку для вывода значения переменной b применена спецификация е, то результат выдан в экспоненциальной форме. Следует отметить, что, если ширина поля меньше, чем число цифр в числе, то поле автоматически расширяется до необходимого размера. Как было отмечено выше, в управляющей строке могут содержаться управляющие символьные константы. Среди управляющих символьных констант наиболее часто используются следующие: 1) \a – для кратковременной подачи звукового сигнала; 2) \b – для перевода курсора влево на одну позицию; 3) \n – для перехода на новую строку; 4) \r – для перевода курсора в начало текущей строки; 5) \t – для горизонтальной табуляции; 6) \v – для вертикальной табуляции. Предположим, в результате работы программы переменная i получила значение 50. В результате записи инструкции вызова функции printf(“\t ЭВМ\n%d\n”,i); сначала выполнится горизонтальная табуляция (\t), т.е. курсор сместится от края экрана на 8 позиций, затем на экран будет выведено слово “ЭВМ”, после этого курсор переместится в начало следующей строки (\n), затем будет выведено целое значение i по формату d, и окончательно курсор перейдет в начало новой строки (\n). Таким образом, результат работы этой функции на экране будет иметь вид: _ _ _ _ _ _ _ _ ЭВМ
Ввод данных
Для форматного ввода данных используется функция scanf(«управляющая строка», аргумент1, аргумент2,...); Если в качестве аргумента используется переменная, то перед ее именем записывается символ &. Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. спецификации для определения типов аргументов такие же, как и для функции printf. Перед символами d,o,x,f может стоять буква l. В первых трех случаях соответствующие переменные должны иметь тип long, а в последнем double. Рассмотрим пример. Требуется ввести значения для переменных i (целого типа) и a (вещественного типа). Эту задачу выполнит функция: scanf(“%d%f”,&i,&a); В управляющей строке спецификации трех типов могут быть отделены друг от друга различными знаками, в том числе и пробелом. Следовательно, при занесении значений переменных необходимо использовать указанный разделитель. Если спецификации не отделены одна от другой никакими значениями, то значения переменных заносятся через пробел. В языке СИ есть две очень удобные функции puts и gets, позволяющие вводить и выводить строку символов. Пример их использования показан ниже: #include<stdio.h> main() { char q[40]; /*объявление строки символов*/ puts(“Введите строку символов”); gets(q); /*ввод строки символов*/ puts(q); /*вывод строки символов*/ } В результате работы программы вначале на экране появится текст: Введите строку символов, после чего следует ввести какую-либо строку символов. Эта информация при помощи оператора gets будет присвоена элементам символьного массива q. Оператор puts выведет строку символов.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |