一、输入输出
C语言把所有的设备都当做文件。在进行输入输出时,系统会先把数据保存到缓冲区,程序再从缓冲区读取数据,因此,会产生上次的输入影响下次的输入的情况,解决办法就是提前清空缓冲区
1.1 scanf() &printf()
- 功能:数据的输入与输出,可以是字母,数字,字符串等
- 特点:Space,Enter,Tab结束,不舍去最后的回车符,不能读取空格,会残留在缓冲区
1.2 getchar()&putchar()
- 功能:字符的输入输出
- 特点:每次只能读取一次,并将字符转换为整数(ascii码),以Enter结束,不会舍去最后的回车符
1.3 gets()&puts()
- 功能:字符串的输入输出
- 特点:会舍去最后的回车符
- 代码实现:
#include <stdio.h>
int main()
{
float f1,f2;
printf("请输入浮点数:");
int f = scanf("%f%f",&f1,&f2);
printf("输入数值的大小:f1=%f f2=%f\n输入的变量个数:%d",f1,f2,f);
getchar();
int c;
printf("\n请输入一个字符(只读取第一个):");
c = getchar();
printf("输入的字符编码:%d\n输入的字符:",c);
putchar(c);
printf("\n");
fflush(stdin);
char str[100];
printf("请输入字符串:");
gets(str);
printf("\n字符串为:");
puts(str);
fflush(stdin);
printf("请输入字符串(字符串不能含有空格,否则后面的无法读取):");
f = scanf("%s",str);
printf("\n字符串为:%s",str);
printf("\n输入的变量个数(一个字符串是一个变量):%d",f);
}
- 运行结果:
请输入浮点数:13.3 3.9
输入数值的大小:f1=13.300000 f2=3.900000
输入的变量个数:2
请输入一个字符(只读取第一个):xiaomage
输入的字符编码:120
输入的字符:x
请输入字符串:xiaomage
字符串为:xiaomage
请输入字符串(字符串不能含有空格,否则后面的无法读取):xiao mage
字符串为:xiao
输入的变量个数(一个字符串是一个变量):1
|