Formater les caractères de contrôle :
%d
: Utilisé pour sortir un entier décimal signé.%u
: Utilisé pour sortir des entiers décimaux non signés.%f
: utilisé pour générer des nombres décimaux à virgule flottante.%e
Ou%E
: utilisé pour générer des nombres à virgule flottante sous forme exponentielle.%g
Ou%G
: utilisé pour sortir des nombres à virgule flottante,%f
ou est automatiquement sélectionné en fonction de la taille de la valeur%e
.%x
ou%X
: pour sortir en hexadécimal.%c
: Utilisé pour sortir un seul caractère.%s
: Utilisé pour sortir une chaîne.%p
: Utilisé pour sortir l'adresse du pointeur.%lu
: Utilisé pour sortir un entier long non signé.%lld
ou%I64d
: pour sortir un entier long long signé.%llu
ou%I64u
: pour afficher un entier long long non signé.%Lf
: utilisé pour générer des nombres longs à virgule flottante double précision.-
%%
Caractère de contrôle de format : utilisé pour produire des signes de pourcentage%
, deux signes de pourcentage doivent être connectés ensemble lors de la sortie.
Modificateurs de format :
-
: Alignez à gauche.+
: Signe de sortie (plus "+" devant le nombre positif).#
: préfixe octal (0), préfixe hexadécimal (0x ou 0X) ou point décimal à virgule flottante (.).0
: Remplir la sortie de données avec des 0 à gauche au lieu du caractère espace par défaut.m.n
:m
est la largeur minimale spécifiéen
et est la précision spécifiée.*
: Utilisé pour recevoir la largeur et la précision transmises dynamiquement. Par exemple,%*.*f
cela signifie sortir des nombres à virgule flottante, et la largeur et la précision sont transmises dynamiquement avec deux paramètres de type int.
caractère d'échappement:
\a
: Alarme (sonnerie de cloche).\b
: Retour arrière (retour) d'un espace.\f
: Changer de page.\n
: Nouvelle ligne.\r
: Entrer.\t
: Onglets horizontaux.\v
: Caractère de tabulation verticale.\\
: barre oblique inverse.\'
:apostrophe.\"
:Double citation.\?
:point d'interrogation.\0
: indicateur de fin de chaîne.
Démonstration de codes :
#include<stdio.h>
int main() {
// 整型
int a = 123;
printf(" % d\n", a); // 输出 123
// 无符号整型
unsigned int b = 456;
printf("%u\n", b); // 输出 456
// 浮点数
double c = 1.23;
printf("%f\n", c); // 输出 1.230000
// 指数形式浮点数
double d = 12345.678;
printf("%e\n", d); // 输出 1.234568e+04
// 十六进制
int e = 0x123;
printf("%x\n", e); // 输出 123
// 字符
char f = 'a';
printf("%c\n", f); // 输出 a
// 字符串
char g[] = "hello world";
printf("%s\n", g); // 输出 hello world
// 指针地址
int* h = &a;
printf("%p\n", h); // 输出 a 的地址
// 无符号长整型
unsigned long i = 1234567890ul;
printf("%lu\n", i); // 输出 1234567890
// 有符号长长整型
long long j = -123450000000ll;
printf("%lld\n", j); // 输出 -123450000000
// 无符号长长整型
unsigned long long k = 123450000000ull;
printf("%llu\n", k); // 输出 123450000000
// 长双精度浮点数
long double l = 1.23;
printf("%Lf\n", l); // 输出 1.230000
// 百分号转义
printf("%%\n"); // 输出 %
// 格式修饰符
int num = 123;
double fnum = 3.14159;
printf("%-5d\n", num); // 输出 123 (左对齐)
printf("%+d\n", num); // 输出 +123(输出符号)
printf("%#x\n", num); // 输出 0x7b(十六进制前缀)
printf("%05d\n", num); // 输出 00123(用 0 左对齐填充)
printf("%.2f\n", fnum); // 输出 3.14 (精度控制)
printf("%*.*f\n", 8, 2, fnum); // 输出 3.14 (动态宽度和精度,从后面两个 int 参数中传入)
// 转义字符
printf("hello\tworld\n"); // 输出 hello world
return 0;
}
Pour l'utilisation des modificateurs et des caractères de contrôle de format, vous pouvez vous référer à des didacticiels spécifiques au langage C ou à des manuels de référence, et choisir de les utiliser en fonction de vos besoins réels. En même temps, vous pouvez utiliser la valeur de retour de la fonction printf pour déterminer si la sortie est réussie.