C语言 第三章-输入输出

本文将介绍 C 语言的输入与输出。

一、printf/scanf

并不直接包含于 C 语言中,需要引入 C 标准函数库 stdio.h

1.含义

标准输入输出

2.printf

(1) 使用

1
printf("格式声明", 值);

例如:

1
printf("一个整数:%d  一个浮点数%f\n", a, b);

(2) 转义字符

3.scanf

(1) 使用

1
scanf("格式声明", 地址);

例如:

1
scanf("%d", &a);

(2) 一一对应

若在格式声明中有其它字符,则在输入时应对应输入相同字符。

1
2
3
scanf("%d,%d", &a, &b);
输入时应输入:
num1,num2

(3) 跳过空格

除了 %c 以外,scanf在读入时都会忽略空格、回车、TAB等。

1
scanf("%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.格式化输入输出

具体请看:

C语言 格式化输入输出

二、getchar和putchar

1. getchar

(1) 使用

1
a = getchar();

(2) 清空缓存区

输入后往往会在缓冲区中残余空格或回车等字符,有可能会对下次输入造成影响,因此可以用此函数清除。

一般而言,同时缓冲区内只会残余一个一个字符,因此可以用一个 getchar 清空:

1
getchar();

若缓冲区内残余多次字符,也可以用以下办法:

1
2
3
do{
c = getchar();
}while (c)

(3) 用于暂停

一般 IDE 会在程序运行完成后暂停程序,以便编程人员观察运行结果。而若直接运行 .exe 文件,程序将一闪而过,无法观察到运行结果。

此时,可以在程序的末尾增加

1
getchar();

使程序暂停,效果和 system(“pause”) 相同。

2.putchar

(1) 使用

1
putchar(a);

(2) 可以填入数字

1
2
putchar(65);
输出 A

(3) 可以输出转义字符

1
2
putchar('\n');
输出回车

三、gets()和puts()

1.输入

1
gets(str);
  • 读入字符串,不会跳过空格,直至回车

  • 回车不会读入

  • 自动在末尾添加 ‘\0’

  • 超出范围会出错,不安全

    具体请看:

    C语言 不安全的gets()

2.输出

1
puts(str);

四、文件输入输出

待更新

参考