第三章——顺序结构 第三节——数据输入

第三章——顺序结构 第三节——数据输入

亓翎_Re-Tikara Lv5

字符输入函数

  • 格式:getchar()
  • 功能:从键盘读取一个字符
  • 返回值:正常,返回读取的代码值;错误,返回EOF(-1)

格式输入函数

  • 格式:scanf(“格式控制串”,地址表)
  • 功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并且按回车结束
  • 返回值:正常,返回输入项个数
  • 地址表:变量的地址,常用取地址运算符&
  • 格式字符:d , i , o , x , u , c , s , f , e

附加格式说明符(修饰符)

修饰符 功能
h 用于d, o, x前,指定输入为short型整数
l 用于d, o, x前,指定输入为long型整数
用于e, f前,指定输入为double型实数
m 指定输入数据宽度,遇空格或不可转换字符则结束
* 抑制符,指定输入项读入后不赋给变量

输入分隔符的指定

  • 一般以空格、TAB、回车键作为分隔符
  • 其他字符做分隔符:格式串中两个格式符之间插入即可
1
2
3
4
5
6
scanf("%d%d", &a, &b); // 在这种情况下,scanf()会自动跳过空格、TAB、回车键等空白字符的输入,也就是将其当作分隔符

scanf("%d , %d", &a, &b); // 输入分隔符为逗号

scanf("%d;%d", &a, &b); // 输入分隔符为分号

说明

  • “%c” 格式符时,空格,转义字符均是有效字符输入
  • 输入数据时,遇到以下情况默认结束:
    • 遇到空格、TAB、回车键、换行符时结束输入
    • 遇宽度结束
    • 遇非法输入
  • 输入函数留下的“无用数据”,即输入数据后,输入缓冲区中剩余的数据,这些数据在输入缓冲区中,直到下次输入时才会被清空。

解决办法:

  1. 输入缓冲区中的数据清空,使用 fflush(stdin) 函数
  2. 输入缓冲区中的数据清空,使用 getchar() 函数
  3. 用格式串中空格或者 “%*c” 来抑制输入

考点

  1. 熟知各种格式字符的功能
  2. scanf函数中的输入项必须是“地址量”
  3. 输入数据时,各个数据见可以用空格符、回车符或者Tab作为输入分隔符
  4. 除了上述3中所述的分隔符外,还可以指定其他字符作为分隔符,但输入时要输入与之相同的字符
  5. 对于结束的条件要熟知
  • 标题: 第三章——顺序结构 第三节——数据输入
  • 作者: 亓翎_Re-Tikara
  • 创建于 : 2026-02-07 02:21:28
  • 更新于 : 2026-02-10 02:48:46
  • 链接: https://re-tikara.fun/Blog/posts/6d92a9d2/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。