第15节 数据的输入

一.用scanf函数输入

1.scanf函数的功能:从键盘获得数据
scanf(格式描述,变量地址); #include <stdio.h>
2.格式控制符
%d,%i:用来输入整型数据,长整型ld,短整型hd;
%o:用来输入八进制整数;
%x:用来输入十六进制整数;
%u:用来输入无符号十进制数;
%c:用来输入单个字符;
%f:用来输入浮点数,可用小数或指数形式输入;
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",a+b);

二.输入数据的分割

int a,b;
scanf("%d %d",&a,&b);   2空格3 /2回车3 /2Tab3
scanf("%d%d",&a,&b);    2空格3 /2回车3 /2Tab3
scanf("%d,%d",&a,&b);    2逗号3
scanf("%dand%d",&a,&b);  2and3
scanf("a=%d,b=%d,c=%d",&a,&b,&c); a=2,b=3,c=4

三.不同类型数据的自然分割

#include <stdio.h>
int main()
{
    
    
int a, b, c;
char op;
scanf("%d%c%d",&a,&op,&b);
if(op=='+')
{
    
    
c=a+b;
printf("会算%c,结果是:%d\n", op, c);
}
else
{
    
    
printf("不会算%c\n", op);
}
return 0;
}

四.输入的数据都被暂放在"缓冲区"

#include <stdio.h>
int main()
{
    
    
	int a, b, c;
	scanf_s("%d", &a);
	scanf_s("%d", &b);
	scanf_s("%d", &c);
	printf("%d,%d,%d,%d", a, b, c);
}
输入输出结果:
1 2 3 4 5
1,2,3

五.指定宽度的输入

#include <stdio.h>
int main()
{
    
    
	int a, b;
	scanf_s("%2d%3d", &a,&b);
	printf("%d,%d", a, b);
}
输入输出结果:
12345678
12,345

六.注意控制字符和类型的匹配

#include <stdio.h>
int main()
{
    
    
	double a, b;
	int c, d;
	scanf_s("%lf%lf", &a, &b);
	scanf_s("%d", &c);
	scanf_s("%d", &d);
	printf("%f,%f,%d,%d", a, b, c, d);
}
输入输出结果:
1 2 3 4
1.000000,2.000000,3,4

七.实践项目
用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,问在键盘上如何输入?

#include <stdio.h>
int main()
{
    
    
    int a, b;
    float x, y;
    scanf_s("a=%d b=%d", &a, &b);
    scanf_s("%f %f", &x, &y);
    printf("%d %d %f %e", a, b, x, y);
    return 0;
}
输入输出结果:
a=3 b=7
8.5 71.82
3 7 8.500000 7.182000e+01

八.点击自测

猜你喜欢

转载自blog.csdn.net/m0_51439429/article/details/114649719