Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Тут можно читать онлайн Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература, издательство Вильямс, год 0101. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 краткое содержание

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - описание и краткое содержание, автор Стивен Прата, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать книгу онлайн бесплатно, автор Стивен Прата
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Резюме

Строка — это последовательность символов, трактуемая как отдельная единица. В языке С строка представлена последовательностью символов, завершающейся нулевым символом, ASCH-код которого равен 0. Строки могут храниться в символьных массивах. Массив — это последовательность элементов, имеющих один и тот же тип. Чтобы объявить массив name, содержащий 30 элементов типа char, используйте следующий оператор:

char name [30];

Позаботьтесь о выделении такого количества элементов, которого достаточно для хранения всей строки, включая нулевой символ.

Строковые константы создаются путем заключения строки в двойные кавычки:

"Это пример строковой константы"

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

картинка 107Функцию strlen() (объявленную в заголовочном файле string.h) можно применять для выяснения длины строки (без учета завершающего нулевого символа). Функция scanf(), будучи вызванной вместе со спецификатором %s, может использоваться для чтения строк, состоящих из одного слова.

Препроцессор языка С ищет в исходном тексте программы директивы препроцессора, которые начинаются с символа #, и действует согласно им до начала процесса компиляции программы. Директива #include заставляет препроцессор добавить содержимое другого файла в текущий файл там, где эта директива находится. Директива #define позволяет определять символические константы. В заголовочных файлах limits.h и float.h директива #def ine применяется для определения набора констант, представляющих разнообразные свойства целочисленных типов и типов с плавающей запятой. Для создания символических констант можно также использовать модификатор const.

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

Вопросы для самоконтроля

Ответы на эти вопросы находятся в приложении А.

1. Запустите программу из листинга 4.1 еще раз, и когда программа запросит ввод имени, введите имя и фамилию. Что происходит? Почему?

2. Предположим, что каждый из следующих примеров является частью завершенной программы. Что будет выводить каждая такая часть?

а. printf("Он продал эту картину за $%2.2f.\n", 2.345е2);

б. printf ("%c%c%c\n", 'Н', 105, '\41');

в. #define Q "Его Гамлет был хорош, и без намека на вульгарность." printf("%s\nсодержит %d символов.\n", Q, strlen(Q));

г. printf("Является ли %2.2е тем же, что и %2.2f?\n", 1201.0, 1201.0);

3 Какие изменения необходимо сделать в пункте в второго вопроса чтобы строка - фото 108

3. Какие изменения необходимо сделать в пункте в) второго вопроса, чтобы строка Q была выведена в двойных кавычках?

154 Глава 4

5. Предположим, что программа начинается так:

#define BOOK "Война и мир" int main(void)

{

float cost = 12.99; float percent = 80.0;

Напишите оператор printf(), который использует BOOK, cost и percent для следующего вывода:

Данный экземпляр книги "Война и мир" стоит $12.99.

Это 80% от цены в прайс-листе.

6. Какие спецификаторы преобразования вы бы использовали, чтобы вывести следующие данные?

а. Десятичное целое число с шириной поля, равной количеству цифр этого числа.

б. Шестнадцатеричное целое число в форме 8А с шириной поля 4 символа.

в. Число с плавающей запятой в форме 232.346 с шириной поля 10 символов.

г. Число с плавающей запятой в форме 2.33е+002 с шириной поля 12 символов.

д. Строку, выровненную по левому краю внутри поля шириной 30 символов.

7. Какие спецификаторы преобразования вы бы использовали, чтобы вывести следующие данные?

а. Целое число типа unsigned long в поле шириной 15 символов.

б. Шестнадцатеричное целое число в форме 0x8а в поле шириной 4 символа.

в. Число с плавающей запятой в форме 2.33Е+02 в поле шириной 12 символов с выравниванием по левому краю поля.

г. Число с плавающей запятой в форме +232.346 в поле шириной 10 символов.

д. Первые 8 символов строки в поле шириной 8 символов.

8. Какие спецификаторы преобразования вы бы использовали, чтобы вывести следующие данные?

а. Десятичное целое число, имеющее минимум 4 цифры, в поле шириной 6 символов.

б. Восьмеричное целое число в иоле, ширина которого будет указываться в списке аргументов.

в. Символ в поле шириной 2 символа.

г. Число с плавающей запятой в форме +3.13 в поле с шириной, которая равна количеству символов в этом числе.

д. Первые пять символов в строке, выровненной по левому краю поля шириной 7 символов.

9. Для каждой из следующих входных строк напишите оператор scanf(), чтобы прочитать их. Объявите также переменные или массивы, используемые в операторе.

а. 101

б. 22.32 8. 34Е-09

в. linguini

г. catch 22

д. catch 22 (но пропустить catch)

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

10. Что такое пробельный символ?

11. В чем заключается ошибка в следующем операторе, и как ее можно исправить?

printf("Тип double состоит из %z байтов..\n", sizeof (double));

12. Предположим, что в своих программах вы хотели бы использовать круглые скобки вместо фигурных. Насколько хороню бы работали следующие конструкции?

#define ( (

#define ) }

Упражнения по программированию

1. Напишите программу, которая запрашивает имя и фамилию, а затем выводит их в формате фамилия, имя.

2. Напишите программу, которая запрашивает имя и выполняет с ним следующие действия.

а. Выводит его заключенным в двойные кавычки.

б. Выводит его в поле шириной 20 символов, при этом все поле заключается в кавычки, а имя выравнивается по правому краю ноля.

в. Выводит его с левого края поля шириной 20 символов, при этом все поле заключается в кавычки.

г. Выводит его в поле шириной, на три символа превышающем длину имени.

3. Напишите программу, которая читает число с плавающей запятой и выводит его сначала в десятичной, а затем в экспоненциальной форме. Предусмотрите вывод в следующих форматах (количество цифр показателя степени в вашей системе может быть другим).

а. Вводом является 21.3 или 2.1е+001.

б. Вводом является +21.290 или 2.129Е+001.

4. Напишите программу, которая запрашивает рост в дюймах и имя, после чего отображает полученную информацию в следующей форме:

Ларри, ваш рост составляет 6.208 футов

Используйте тип float, а также операцию деления /. Если хотите, можете запрашивать рост в сантиметрах и отображать его в метрах.

5. Напишите программу, которая запрашивает скорость загрузки в мегабитах в секунду и размер файла в мегабайтах. Программа должна вычислять время загрузки файла. Имейте в виду, что в данном случае один байт равен восьми битам. Используйте тип float, а также операцию деления /. Программа должна выводить все три значения (скорость загрузки, размер файла и время загрузки) с отображением двух цифр справа от десятичной точки, как в следующем выводе:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Прата читать все книги автора по порядку

Стивен Прата - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования C. Лекции и упражнения (6-е изд.) 2015 отзывы


Отзывы читателей о книге Язык программирования C. Лекции и упражнения (6-е изд.) 2015, автор: Стивен Прата. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x