C语言 第三章-输入输出
本文将介绍 C 语言的输入与输出。
一、printf/scanf
并不直接包含于 C 语言中,需要引入 C 标准函数库 stdio.h
1.含义
标准输入输出
2.printf
(1) 使用
1 | |
例如:
1 | |
(2) 转义字符

3.scanf
(1) 使用
1 | |
例如:
1 | |
(2) 一一对应
若在格式声明中有其它字符,则在输入时应对应输入相同字符。
1 | |
(3) 跳过空格
除了 %c 以外,scanf在读入时都会忽略空格、回车、TAB等。
1scanf("%s", str);读入字符串时,遇到空格更是会直接停止读入。
4.常见变量及其格式
| 数据类型 | 输入格式 | 输出格式 |
|---|---|---|
| int | %d | %d |
| long | %ld | %ld |
| long long | %lld | %lld |
| float | %f | %f |
| double | %lf | %f |
| char | %c | %c |
| str | %s | %s |
5.格式符号
| 符号 | 含义 |
|---|---|
| d | 有符号十进制整数 |
| c | 字符 |
| s | 字符串 |
| f | 浮点数 |
| p | 地址 |
| e | 指数 |
| u | 无符号十进制整数 |
| o | 八进制 |
| x | 十六进制 |
6.格式化输入输出
具体请看:
二、getchar和putchar
1. getchar
(1) 使用
1 | |
(2) 清空缓存区
输入后往往会在缓冲区中残余空格或回车等字符,有可能会对下次输入造成影响,因此可以用此函数清除。
一般而言,同时缓冲区内只会残余一个一个字符,因此可以用一个 getchar 清空:
1 | |
若缓冲区内残余多次字符,也可以用以下办法:
1 | |
(3) 用于暂停
一般 IDE 会在程序运行完成后暂停程序,以便编程人员观察运行结果。而若直接运行 .exe 文件,程序将一闪而过,无法观察到运行结果。
此时,可以在程序的末尾增加
1 | |
使程序暂停,效果和 system(“pause”) 相同。
2.putchar
(1) 使用
1 | |
(2) 可以填入数字
1 | |
(3) 可以输出转义字符
1 | |
三、gets()和puts()
1.输入
1 | |
读入字符串,不会跳过空格,直至回车
回车不会读入
自动在末尾添加 ‘\0’
超出范围会出错,不安全
具体请看:
2.输出
1 | |
四、文件输入输出
待更新
参考
- C程序设计
- C Primer Plus
- C 语言教程 | 菜鸟教程