Глава 4. Символьные строки и форматированный ввод-вывод.


|
В ЭТОЙ ГЛАВЕ...
Введение в символьные строки
Символъния строка - это последовательность из одного или большего количества символов, например: Это длинная строка символов. Двойные кавычки не являются частью строки. Они сообщают...
Вводная программа
К этому времени вы, вероятно, уже привыкли, что в начале куклой главы следует ожидать очередной простой учебной программы. Именно такая программа, реализующая диалог с пользователем,...
Возвращаемое значение функции printf ()
Как упоминалось в главе 2, функция в языке С в общем случае имеет возвращаемое значение - это то, что она вычисляет и возвращает в вызывающую программу. Например, в библиотеке С содержится...
Возвращаемое значение функции scanf ()
Функция scanf () возвращает количество элементов, которые она успешно прочитала. Если не прочитано ни одного элемента, как бывает в случае набора нечисловой строки, в то время когда scanf ()...
вопросы для самоконтроля
Ответы на эти вопросы находятся в прпложении А. 1. Запустите программу из листинга 4.1 еще раз, и когда программа запросит ввод имени, введите имя и фамилию. Что происходит? Почему? 2....
Выбор локали
В США и многих других странах мира для отделения целочисленной части от дробной используется точка, как в 3.14159. В то же время во множестве других стран для этого применяется запятая, как в...
Вывод длинных строк
Иногда операторы printf () оказываются с л и шком длинными, чтобы уместиться в одной строке файла исходного кода. Поскольку в языке С пробельные символы (символы пробела, табуляции и новой...
Использование полученных знаний на практике
Итак, вы ознакомились с несколькими примерами. Как должен выглядеть оператор для вывода текста в следующей форме: Семья может стать богаче на $ХХХ.ХХ! Здесь NAME и ХХХ.ХХ представляют значения,...
Использование строк
С помощью программы в листинге 4.2 можно удостовериться, насколько просто в действительности работать со строками. Листинг 4 .2 . Программа p r a i s e l . с//Листинг 4 .2 . Программа p r a i s...
Использование функции printf ()
В листинге 4.6 представлена программа, в которой применяются некоторые спецификаторы преобразования. Листинг 4.6. Программа printout. с /* printout.c использует спецификаторы преобразования */...
Использование функции scanf ()
Теперь давайте перейдем от вывода к вводу и исследуем функцию scanf (). Библиотека С содержит несколько функций ввода, и scanf ( ) является наиболее универсальной из них, т.к. она способна...
Исследование и эксплуатация функций printf () и scanf ()
Функции printf () и scanf () позволяют организовать взаимодействие с программой и называются функциями ввода-вывода. В языке С доступны и другие функции ввода-вывода, но printf () и scanf ()...
Ключевые понятия
В языке С тип char представляет одиночный символ. Для представления последовательности символов в С применяется символьная строка. Одной из форм строки является символьная константа, в которой...
Константы и препроцессор C
Иногда в программе необходимо использовать константы. Например, длину окружности можно вычислить по формуле: circumference = 3.14159 * diameter; Здесь константа 3.14159 представляет...
Массив типа char и нулевой символ
В языке С не существует какого-то специального типа для строковых переменных. Вместо этого для строк применяются массивы типа char. Символы в строке хранятся в смежных ячейках памяти, по одному...
Модификатор * в функциях printf () и scanf ()
И в printf (), и в scanf () модификатор * можно применять для изменения значения спецификатора, но делается это по-разному. Для начала давайте рассмотрим использование модификатора * в функции...
Модификатор const
В стандарт С90 был добавлен второй способ создания символических констант, при котором с помощью ключевого слова const объявление для переменной преобразуется в объявление для константы: const...
Модификаторы спецификаторов преобразования для функции printf ( )
Базовый спецификатор преобразования можно изменять, вставляя модификаторы между знаком % и символом, который определяет преобразование. В табл. 4.4 и 4.5 перечислены символы, которые можно...
Несовпадающие преобразования
Естественно, спецификатор преобразования должен соответствовать типу выводимого значения. Часто вам доступно несколько вариантов. Например, для вывода значения типа int можно применять...
Обработка ввода функцией scanf ()
Давайте более подробно рассмотрим, как функция scanf () считывает поток вводимых данных. Предположим, что вы применяете спецификатор %d, чтобы прочитать целое число. Функция scanf () начинает...
Обычные символы в строке формата
Функция scanf () позволяет помещать в строку формата обычные символы. Вводимая срока должна обеспечивать точное совпадение для обычных символов, отличных от пробельных. Например, предположим,...
Передана аргументов
Механизм передачи аргументов зависит от реализации. Вот как передача аргументов происходит в нашей системе. Вызов функции выглядит следующим образом: printf( %ld %ld %ld %ld\n , n1, n2, n3,...
Примеры использования модификаторов и флагов
Давайте посмотрим на описанные выше модификаторы в действии. Мы начнем с оценки влияния модификатора, устанавливающего ширину поля, на вывод целого числа. Рассмотрим программу, показанную в...
Работа с символическими константами
Заголовочные файлы limits.h и float.h содержат подробную информацию об ограничениях размеров, соответственно, целочисленных типов и типов с плавающей запятой. В каждом файле определена...
Различия между строками и символами
Строковая константа х вовсе не то же самое, что и символьная константа ' х '. Одно из различий связано с тем, что ' х ' имеет базовый тип (char), но х это производный тип,...
Резюме
Строка это последовательность символов, трактуемая как отдельная единица. В языке С строка представлена последовательностью символов, завершающейся нулевым символом, ДОСП-код которого равен 0....
Советы по использованию функции p r i n t f ()
Указание фиксированной ширины полей полезно, когда вы хотите выводить столбцы данных. Поскольку стандартной шириной поля является просто ширина числа, многократное применение оператора...
Упражнения по программированию
1. Напишите программу, которая запрашивает имя и фамилию, а затем выводит их в формате фамилия, имя. 2. Напишите программу, которая запрашивает имя и выполняет с ним следующие действия. а....
Функция printf ()
Инструкции, которые вы даете функции printf (), запрашивая у нее вывод переменной, зависят от типа этой переменной. Например, ранее мы применяли форму записи %d при выводе целого числа и %с при...
Функция strlen ()
В предыдущей главе кратко затрагивалась операция sizeof , которая предоставляет размер типа в байтах. Функция strlen () возвращает длину строки в символах. Поскольку для размещения одного...
Что преобразует спецификатор преобразования?
Теперь более подробно рассмотрим, что именно преобразует спецификатор преобразования. Он преобразует значение, хранящееся в памяти компьютера в двоичном формате, в последовательность символов...