C 语言中的格式化输入和输出282


在 C 语言中,格式化输入和输出是处理数据输入和输出时必不可少的功能。它允许您以特定格式读取和写入数据,从而增强代码的可读性、可维护性和健壮性。

格式化输入

要执行格式化输入,可以使用 scanf() 函数。该函数遵循以下语法:```c
int scanf(const char *format, ...);
```

其中:* format:指定输入数据的格式的字符串。
* ...:可变数量的指针,指向要存储输入数据的变量。

scanf() 函数读取标准输入并根据指定的格式将数据存储在提供的变量中。格式字符串包含转换说明符,用于指定特定数据类型的格式。一些常见的转换说明符包括:* %d:整数
* %f:浮点数
* %c:字符
* %s:字符串

示例:```c
int age;
float height;
char name[20];
scanf("%d %f %s", &age, &height, name);
```

格式化输出

要执行格式化输出,可以使用 printf() 函数。该函数遵循以下语法:```c
int printf(const char *format, ...);
```

其中:* format:指定输出数据的格式的字符串。
* ...:可变数量的变量,要输出的值。

printf() 函数将数据写入标准输出(通常是控制台)并根据指定的格式对其进行格式化。格式字符串包含转换说明符,用于指定特定数据类型的格式。与 scanf() 函数类似,printf() 函数也使用相同的转换说明符。

示例:```c
int age = 25;
float height = 1.80;
char name[] = "John Doe";
printf("Name: %sAge: %dHeight: %f", name, age, height);
```

字段宽度和精度

除了基本的转换说明符外,还可以使用字段宽度和精度来控制输出的格式。字段宽度指定分配给输出值的最小字符数,而精度指定小数点后位数(对于浮点数)或最大字符数(对于字符串)。

字段宽度和精度可以使用以下语法指定:```c
%[字段宽度].[精度][转换说明符]
```

例如:```c
printf("%10d", 12345); // 输出: 12345(字段宽度为 10)
printf("%.2f", 3.14159); // 输出:3.14(精度为 2)
```

修饰符

修饰符可以用于进一步修改输入或输出行为。一些常见的修饰符包括:* *:扫描但丢弃输入。
* hh:对于整数,指定 8 位有符号的 char。
* h:对于整数,指定 16 位有符号的 short。
* l:对于整数,指定 32 位有符号的 long。
* ll:对于整数,指定 64 位有符号的 long long。

例如:```c
int number;
scanf("%*d %d", &number); // 扫描第一个整数,但丢弃它。
```

格式化输入和输出是 C 语言中强大的工具,可用于以易于阅读和理解的方式处理数据。通过使用 scanf() 和 printf() 函数以及各种转换说明符、字段宽度和修饰符,您可以自定义数据输入和输出以满足您的特定需求,从而创建更健壮、可维护且可读的代码。

2024-10-24


上一篇:函数在 C 语言中的调用

下一篇:C 语言中调用 C++ 函数