Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

8.4. Форматированный ввод/вывод. в языке Си кратко

Лекция



Привет, сегодня поговорим про форматированный ввод/вывод в языке си, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое форматированный ввод/вывод в языке си , настоятельно рекомендую прочитать все из категории Алгоритмизация и программирование. Структурное программирование. Язык C.

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


Пример:
char name[40];
Для работы со строками к программе необходимо подключить файл string.h.
Каждая из функций ввода/вывода использует управляющую строку и список аргументов. Управляющая строка записывается первой и заключается в кавычки. Управляющие строки и аргументы не перемешиваются. Управляющие строки прежде всего содержат указание на вывод значения того или иного типа. Их называют спецификаторами преобразования.

8.4. Форматированный вводвывод. в языке Си

Спецификаторы Действия
%a, %A возвращают число с плавающей точкой и 16-е цифры
%c возвращает одиночный символ
%d, %i возвращают целое число в десятичной форме
%e, %E возвращают число с плавающей точкой в экспоненциальной форме
%f возвращает число с плавающей точкой в десятичной форме
%g использует спецификатор %f или %e в зависимости от значения (выбирается автоматически)
%o возвращает восьмеричное целое число без знака
%p вывод указателя в шестнадцатеричном формате
%s возвращает строку символов
%u возвращает десятичное целое число без знака
%x, %X возвращают шестнадцатеричное целое число без знака
%% вывод на печать символа %


Основную спецификацию можно модифицировать вставляя между % и символом преобразования модификаторы.

Модификаторы Действия
цифра/цифры минимальная ширина поля вывода (количество экранных символов)
.цифра точность
h используется при целочисленных преобразованиях для кодирования значений short int и unsigned short int
hh используется при целочисленных преобразованиях для кодирования значений signed char и unsigned char
j используется при целочисленных преобразованиях для получения типов int_max_t и uint_max_t
l используется при целочисленных преобразованиях для получения типа long int и unsigned long int
ll используется при целочисленных преобразованиях для получения типа long long int и unsigned long long int
t используется с целью кодирования значений типа ptroliff_t, который является разностью двух указателей
z используется с целью кодирования значений size_t
L используется при преобразовании чисел с плавающей точкой типа long double
флаг + значения со знаком печатаются со знаком "+" или "-"
флаг - элемент выравнивается по левому краю
флаг пробел значение со знаком "+" печатается с пробелом, но без знака
флаг # для спецификаторов %o, %x, %X выводит не значащие нули. Об этом говорит сайт https://intellect.icu . Для форм с плавающей точкой гарантировано печатается точка, даже если десятичных знаков нет
флаг 0 для числовых форм вместо пробелов на свободные экранные места выводятся нули


Ввод данных осуществляется с помощью функции scanf(). В языке Си существует несколько функций ввода. scanf() употребляется чаще других, т.к. ей присущ различный формат ввода. Также как и функция printf(), ввод использует управляющую строку, сопровождаемую списком аргументов. Управляющая строка указывает в какие форматы должен быть преобразован вводимый текст. В качестве параметров функция scanf() использует не сами переменные, а указатели на них. Для использования scanf()необходимо выполнять два правила:
1) если функция используется для считывания значений в переменную основного типа, то перед именем переменной ставится знак &.
2) если значение считывается в символьный массив, то символ & не ставится.
Преобразование одного вводимого данного осуществляется указанием спецификатора преобразования. Если данных вводится несколько, то они разделяются знаком пробела.

Спецификаторы Действия
%c интерпретирует результат ввода в качестве символа
%d интерпретирует результат ввода как десятичное целое число со знаком
%e, %f, %g, %a интерпретирует результат ввода как число с плавающей точкой
%E, %F, %G, %A интерпретирует результат ввода как число с плавающей точкой. Все вводимые символы преобразуются в заглавные
%o интерпретирует результат ввода как восьмеричное целое число со знаком
интерпретирует результат ввода как указатель
%s интерпретирует результат ввода как строку. Ввод начинается с первого символа, не являющегося служебным и включает все символы до следующего служебного
%u интерпретирует результат ввода как целое число без знака
%x, %X интерпретирует результат ввода как шестнадцатеричное целое число со знаком


Между знаком % и символом преобразования могут использоваться модификаторы. Если их более одного, то они должны записываться в порядке, указанном в таблице ниже:

Модификаторы Действия
* подавить присваивание
цифра/цифры максимальная ширина поля ввода. Ввод прекращается когда указанная ширина достигнута или при обнаружении служебного символа
hh определяет считывание целого числа в виде signed char или unsigned char
ll определяет считывание целого числа в виде long long или unsigned long long
L, l, h определяет считывание числа в виде short int, unsigned short int, unsigned long, long, double или long double

8.4. Форматированный вводвывод. в языке Си

8.4. Форматированный вводвывод. в языке Си

8.4. Форматированный вводвывод. в языке Си

8.4. Форматированный вводвывод. в языке Си

8.4. Форматированный вводвывод. в языке Си

8.4. Форматированный вводвывод. в языке Си


К сожалению, в одной статье не просто дать все знания про форматированный ввод/вывод в языке си. Но я - старался. Если ты проявишь интерес к раскрытию подробностей,я обязательно напишу продолжение! Надеюсь, что теперь ты понял что такое форматированный ввод/вывод в языке си и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Алгоритмизация и программирование. Структурное программирование. Язык C

Из статьи мы узнали кратко, но содержательно про форматированный ввод/вывод в языке си
создано: 2014-10-09
обновлено: 2023-07-07
132449



Рейтиг 10 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Алгоритмизация и программирование. Структурное программирование. Язык C

Термины: Алгоритмизация и программирование. Структурное программирование. Язык C