主要内容
cout 对应的输入是 cin。
printf 也对应有一个输入函数,scanf
和 printf 类似,scanf 的使用方法,也和格式控制符(%+格式符号)有关。
1. 一般形式的输入
先看一下基本使用方法。
注意,% 后面的字母所代表的意义,和 printf 中相同。
注意,变量 a 的前面有一个“&”符号。这里被称为“引用符号”。
注意,不添加 &,不会报错。但是输入的值,无法赋值给变量 a 。
输入规则同 cin。一个数,回车表示结束;两个数之间,使用空格/回车间隔开来。
请阅读示例程序
#include < cstdio >
int main()
{
int a(0);
printf("请输入 1 个数:");
scanf("%d", &a);
printf("你输入的是:%d", a);
return 0;
}
请阅读示例程序
#include < cstdio >
int main()
{
int a(0), b(0);
printf("请输入 2 个数:"); // 两个数,使用空格/回车间隔开来。(空格的数量可以任意)
scanf("%d%d", &a, &b);
printf("输入的是:%d,%d", a, b);
return 0;
}
2. 自定义格式的输入
请阅读示例程序(固定格式)
#include < cstdio >
int main()
{
int a(0), b(0);
printf("请输入 2 个数:"); // 两个数,输入格式举例:10,5
scanf("%d,%d", &a, &b);
printf("输入的是:%d,%d", a, b);
return 0;
}
请阅读示例程序(指定跳过某个数)
#include < cstdio >
int main()
{
int a(0), b(0);
printf("请输入 3 个数:"); // 两个数,输入格式举例:10,5,6
scanf("%d%*d%d", &a, &b); // 中间那个数会被跳过。写法是 %*d
printf("输入的是:%d,%d", a, b);
return 0;
}
请阅读示例程序(指定输入位数)
#include < cstdio >
int main()
{
int a(0), b(0);
printf("输入1个数");
scanf("%2d%3d", &a, &b);
printf("输入的是:%d,%d", a, b);
return 0;
}
输入说明:
----------------------------------
输入:// 正好 5 位
12345 回车
输出:
12 345
----------------------------------
输入:// 只有 4 位
1234 回车
输出:
12 34
----------------------------------
输入:// 多 1 位
123456 回车
输出:
12 345
----------------------------------
3. 单个字符
C语言中,还有一个专门处理输入一个字符的函数:getchar()
char a = getchar(); // 获得一个输入字符
习题
课后练习