Тема: «Разработка программ, использующих форматированные и потоковые функции и функции работы с файлами» — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Тема: «Разработка программ, использующих форматированные и потоковые функции и функции работы с файлами»

2020-05-08 148
Тема: «Разработка программ, использующих форматированные и потоковые функции и функции работы с файлами» 0.00 из 5.00 0 оценок
Заказать работу

Цель:

- рассмотрение возможностей ввода/вывода в языке С;

- изучение основных потоков языка С;

- разграничение понятий потокового и форматированного вывода;

 

Характер занятия: репродуктивный.

Форма организации: индивидуальная.

Обеспечение занятия: тетрадь с лекциями,  СИ, компьютер.

 

Требования к знаниям студентов

Перед выполнением практической работы студент должен

знать:

- основные операторы для форматированного ввода/вывода языка С;

- особенности применение спецификаторов в форматированном вводе/выводе;

- основные esc-последовательности;

после выполнения практической работы студент должен

уметь:

- вводить и выводить данные программы с помощью форматированного и потокового ввода/вывода;

- использовать для ввода/вывода стандантартные потоки;

- использовать для ввода/вывода файлы.

 

Теоретический материал

Потоки

Ввод/вывод выполняется посредством потоков — последовательностей символов с построчной организацией. Каждая строка содержит нулевое или большее число символов и заканчивается символом новой строки. Стандарт языка С объявляет, что реализация ANSI С должна поддерживать строки по меньшей мере из 254 символов, включая ограничивающий символ новой строки.

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

· стандартный поток ввода -обычно присоединяется к клавиатуре;

· стандартный поток вывода — к устройству вывода информации на экран монитора (экрану).

· стандартный поток ошибок — также присоединяется к экрану. В него выводятся сообщения об ошибках.

 

Форматированный вывод с применением printf

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

1. Округление значений с плавающей точкой до указанного числа десятичных знаков.

2. Выравнивание столбца чисел по положению десятичной точки в столбце.

3. Выравнивание выводимых данных по правому краю и по левому краю.

4. Вставка литеральных символов в заданное место выводимой строки.

5. Представление числа с плавающей точкой в экспоненциальном формате.

6. Представление целого без знака в восьмеричном и шестнадцатеричном формате.

7. Вывод данных всех типов с фиксированной шириной поля и точностью представления.

Функция printf имеет следующую форму:

printf (строка_управления_форматом, другие_аргументы);

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

Печать целых чисел

Целые значения выводятся в одном из нескольких возможных форматов. На рис. 1 показаны все спецификаторы преобразования целых чисел.

 

Спецификатор Описание
d Выводит десятичное целое со знаком.
i Выводит десятичное целое со знаком (различие i и d проявляется в функции scanf).
о Выводит восьмеричное целое без знака.
u Выводит десятичное целое без знака.
х или X Выводит шестнадцатеричное целое без знака. Спецификатор X используется для вывода числа цифрами 0-9 и буквами A-F, а х -для вывода числа цифрами 0-9 и буквами a-f.
h или 1 Помещается перед спецификатором преобразования целого, чтобы показать, что выводится целое соответственно типа short или long.

Рис. 1. Спецификаторы преобразования целых значений

Программа, приведенная на рис. 2, печатает целое число, последовательно используя все спецификаторы преобразования целых. Знак выводится только для отрицательных чисел, а вывод знаков «плюс» подавляется. Значение -455 печатается с использованием формата %u, и на компьютере с двухбайтовыми целыми оно преобразуется в значение без знака, равное 65081.

 

/* Использование спецификаторов преобразования целых значений */

#include <stdio.h>

main () {

printf("%d\n", 455);

printf ("% i \ n ", 455); /* в printf i то же, что и d */

printf("%d\n", +455);

printf("%d\n", -455);

printf("%hd\n", 32000);

printf("%ld\n", 2000000000);

printf("%o\n", 455);

printf ("%u\n", 455);

printf ("%u\n", -455);

printf("%x\n", 455);

printf ("% X \ n ", 455);

return 0; }

 

Вывод на экран:

455

455

455

-455

32000

2000000000

707

455

65081

lc7

1C7

Рис. 2. Использование спецификаторов преобразования целых значений

 


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.