Спецификаторы формата
Часть раздела Fundamentals путешествия по C на Coddy — урок 32 из 63.
Функция printf() в языке C позволяет более точно управлять форматом вывода с помощью спецификаторов формата. Вот некоторые продвинутые спецификаторы формата:
%dили%i: Целое число%u: Беззнаковое целое число%f: Число с плавающей запятой или двойной точности
%eили%E: Экспоненциальная запись%gили%G: Использовать %f или %e, в зависимости от того, что короче%xили%X: Шестнадцатеричный формат
%o: Восьмеричное число%c: Символ%s: Строка
%p: Адрес указателя
Вы также можете управлять шириной и точностью вывода:
%5d: Целое число шириной 5%7.2f: Число с плавающей запятой шириной 7 и 2 знаками после запятой%-10s: Выровненная по левому краю строка шириной 10
Пример:
printf("%10.2f\n", 3.14159); // Вывод: 3.14printf("%.3f\n", 3.14159); // Выводит: 3.142printf("%+d\n", 42); // Выводит: +42printf("%x\n", 255); // Выводит: ffЗадание
ЛегкоНапишите программу на языке C, которая демонстрирует использование различных спецификаторов формата. Ваша программа должна:
- Объявить целое число
numсо значением 255 - Объявить число с плавающей точкой
piсо значением 3.14159 - Объявить символ
letterсо значением 'A' - Вывести
numкак десятичное, шестнадцатеричное и восьмеричное число - Вывести
piс 2 знаками после запятой - Вывести
letterкак символ и его значение ASCII
Используйте соответствующие спецификаторы формата для каждого вывода.
Шпаргалка
Функция printf() использует спецификаторы формата для точного управления выводом:
%dили%i: Целое число%u: Беззнаковое целое число%f: Число с плавающей точкой (float или double)%eили%E: Экспоненциальная запись%gили%G: Использовать %f или %e, в зависимости от того, что короче%xили%X: Шестнадцатеричное число%o: Восьмеричное число%c: Символ%s: Строка%p: Адрес указателя
Управление шириной и точностью:
%5d: Целое число с шириной поля 5%7.2f: Число с плавающей точкой с шириной поля 7 и 2 знаками после запятой%-10s: Строка с выравниванием по левому краю и шириной поля 10
printf("%10.2f\n", 3.14159); // Вывод: 3.14
printf("%.3f\n", 3.14159); // Вывод: 3.142
printf("%+d\n", 42); // Вывод: +42
printf("%x\n", 255); // Вывод: ffПопробуйте сами
#include <stdio.h>
int main() {
int num = 255;
float pi = 3.14159;
char letter = 'A';
// Ваш код здесь
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание5Ввод и вывод
Спецификаторы форматаОсновы scanfПовторение: Задача №1Проверка вводаПовторение: Задача №23Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение