格式化的输入和输出:C 语言进阶指南121


C 语言为格式化输入和输出提供了强大的功能,这对于创建用户友好、易于理解的程序至关重要。本指南将详细探讨 C 语言中格式化输入和输出的各种技术。

格式化输入

使用 scanf() 函数进行格式化输入,该函数读取输入数据并将其存储在指定的变量中。scanf() 函数接受格式化字符串作为第一个参数,它指定期望的输入格式,后跟要填充的变量的地址。
int main() {
int num;
char str[100];
float fnum;
printf("输入一个整数:");
scanf("%d", &num);
printf("输入一个字符串:");
scanf("%s", str);
printf("输入一个浮点数:");
scanf("%f", &fnum);
return 0;
}

在此示例中:* %d 指定将读取一个整数并将其存储在 num 中。
* %s 指定将读取一个字符串并将其存储在 str 中。
* %f 指定将读取一个浮点数并将其存储在 fnum 中。

格式化输出

使用 printf() 函数进行格式化输出,该函数采用格式化字符串作为第一个参数,后跟要输出的变量。格式化字符串指定数据的格式和输出宽度。
int main() {
int num = 10;
char str[] = "Hello";
float fnum = 2.5;
printf("整数:%d", num);
printf("字符串:%s", str);
printf("浮点数:%.2f", fnum);
return 0;
}

在此示例中:* %d 指定将输出 num 中的整数。
* %s 指定将输出 str 中的字符串。
* %.2f 指定将输出 fnum 中的浮点数,保留两位小数。

格式化标志

C 语言提供格式化标志来控制输出的格式,这些标志添加到格式化字符串中。

标志
描述


-
左对齐


+
对于正数显示加号


0
使用零填充字段


#
用于八进制和十六进制格式


space
对于正数显示空格


宽度和精度

可以在格式化字符串中指定字段宽度和精度以控制输出的格式。* 宽度:指定字段的最小宽度。未使用的空间将用空格填充。
* 精度:指定要打印的字符数(对于字符串)或小数位数(对于浮点数)。

printf("%10d", num); // 输出一个宽度为 10 的整数
printf("%.2f", fnum); // 输出一个小数点后两位的小数

其他格式说明符

C 语言还提供其他格式说明符,用于格式化特殊类型的数据:* %c:字符
* %p:指针
* %x/%X:十六进制(小写/大写)
* %o:八进制

掌握 C 语言中格式化输入输出的技术对于创建易于使用且美观的程序至关重要。通过使用 scanf()、printf() 函数和各种格式化选项,程序员可以完全控制输入和输出数据,从而增强用户体验并提高代码的可读性。

2024-10-30


上一篇:三角函数在 C 语言中的实现

下一篇:如何在 C 语言中高效输出字符串