Форматирование строк с помощью printf
В этом шаге вы научитесь использовать функцию printf()
для форматирования строк и различных типов данных в языке C. Функция printf()
предоставляет мощные возможности по форматированию строк.
Создадим новый файл, чтобы продемонстрировать форматирование строк:
cd ~/project
touch string_formatting.c
Введите следующий код, чтобы изучить различные варианты форматирования:
#include <stdio.h>
int main() {
// Basic string formatting
char name[] = "Alice";
int age = 30;
float height = 5.8;
// Simple string output
printf("Name: %s\n", name);
// Formatting with multiple variables
printf("Profile: %s is %d years old\n", name, age);
// Formatting with floating-point precision
printf("Height: %.1f meters\n", height);
// Width and alignment
printf("Name (right-aligned): %10s\n", name);
printf("Name (left-aligned): %-10s\n", name);
// Mixing different format specifiers
printf("Details: %s, %d years, %.1f meters\n", name, age, height);
return 0;
}
Скомпилируйте и запустите программу:
gcc string_formatting.c -o string_formatting
./string_formatting
Пример вывода:
Name: Alice
Profile: Alice is 30 years old
Height: 5.8 meters
Name (right-aligned): Alice
Name (left-aligned): Alice
Details: Alice, 30 years, 5.8 meters
Общие спецификаторы формата:
%s
: Строки
%d
: Целые числа
%f
: Числа с плавающей точкой
%.1f
: Числа с плавающей точкой с 1 знаком после запятой
%10s
: Выравнивание вправо с шириной в 10 символов
%-10s
: Выравнивание влево с шириной в 10 символов
Рассмотрим более продвинутые варианты форматирования:
#include <stdio.h>
int main() {
// Hexadecimal and octal representations
int number = 255;
printf("Decimal: %d\n", number);
printf("Hexadecimal: %x\n", number);
printf("Octal: %o\n", number);
// Padding with zeros
printf("Padded number: %05d\n", 42);
return 0;
}
Пример вывода:
Decimal: 255
Hexadecimal: ff
Octal: 377
Padded number: 00042