第三章——顺序结构 第二节——数据的输出

第三章——顺序结构 第二节——数据的输出

亓翎_Re-Tikara Lv5

数据的输出

在C语言中,我们有多种方式可以将数据输出到控制台。最常用的是 printf 函数和 putchar 函数。

1. putchar 函数

1.1 格式

1
int putchar(int c);

1.2 参数说明

  • c:可以是字符常量、变量或表达式。

1.3 功能

  • 将一个字符输出到显示屏。

1.4 返回值

  • 正常情况下返回显示字符的ASCII码值(如 'A' 返回 65)。
  • 如果出错,返回 EOF(通常为 -1)。

1.5 示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>

int main() {
char ch = 'A';
int ascii = 65;

printf("使用 putchar 输出字符: \n");
putchar(ch); // 输出字符 A
putchar('\n'); // 换行
putchar(ascii); // 同样输出 A
putchar('\n'); // 换行

return 0;
}

运行结果:

1
2
3
使用 putchar 输出字符: 
A
A

1.6 说明

  • putchar() 函数虽然参数是 int 类型,但实际上是用于输出字符
  • 当传入整型变量时,它会将其解释为其对应的 ASCII 码值
  • 本例中,65 对应的 ASCII 字符是 ‘A’,因此两个不同的输入方式产生了相同的输出结果

2. printf 函数

2.1 格式

1
int printf(const char *format, ...);

2.2 功能

  • 根据指定的格式字符串输出格式化的数据。

2.3 常用格式化符号

格式符 类型 示例
%d 十进制整数 printf("%d", 123);
%f 浮点数 printf("%f", 3.14);
%c 字符 printf("%c", 'A');
%s 字符串 printf("%s", "Hello");
%.2f 保留两位小数 printf("%.2f", 3.14159);
%x 十六进制整数 printf("%x", 255);

2.4 示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main() {
int age = 20;
float price = 9.99f;
char grade = 'B';

printf("年龄:%d\n", age);
printf("价格:%.2f\n", price);
printf("等级:%c\n", grade);
printf("十六进制:%x\n", 255);

// 多个参数示例
printf("学生信息:姓名-%s,年龄-%d,成绩-%.1f\n", "张三", 18, 89.5);

return 0;
}

运行结果:

1
2
3
4
5
年龄:20
价格:9.99
等级:B
十六进制:ff
学生信息:姓名-张三,年龄-18,成绩-89.5

2.5 格式化输出详解

(1) 宽度控制

1
2
3
int num = 42;
printf("'%10d'\n", num); // 右对齐,总宽度为10
printf("'%-10d'\n", num); // 左对齐,总宽度为10

(2) 浮点数精度控制

1
2
double pi = 3.1415926535;
printf("%.3f\n", pi); // 输出 3.142(四舍五入)

(3) 填充字符

1
2
int num = 5;
printf("%05d\n", num); // 用0填充空白,输出 00005

3. 注意事项

  1. putchar 只能输出单个字符,适合简单的字符显示
  2. printf 支持复杂的格式化输出,适合混合数据类型的输出
  3. 使用 printf 时要注意格式字符串与参数类型的一致性,否则可能导致未定义行为
  4. 常用格式符对应关系:
    • %d 整数
    • %f 浮点数
    • %c 字符
    • %s 字符串
    • %% 输出百分号本身
  5. 格式字符串中的普通字符会原样输出
  6. 如果要输出百分号 %,需要写成 %%
  7. 格式说明符的数量必须与输出项数量一致
  8. 对于不匹配的格式说明符和参数,可能会导致不可预测的结果
  9. printf 的返回值是实际输出的字符数,可用于后续计算
  • 标题: 第三章——顺序结构 第二节——数据的输出
  • 作者: 亓翎_Re-Tikara
  • 创建于 : 2026-02-07 02:21:28
  • 更新于 : 2026-02-10 02:48:46
  • 链接: https://re-tikara.fun/Blog/posts/1478262f/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。