#include<cstdio>
//格式化输入scanf,格式化输出printf,若要使用必须包含头文件#include<cstdio> 
//也可以用加速器: 
//ios::sync_with_stdio(false);
//cin.tie(0),cout.tie(0); 
using namespace std;
int main()
{
	//PS:当数据量达到10^6次输入或者输出时,必须使用scanf和printf 
	//使用scanf、printf输入输出时 ,每种数据类型有其对应的格式控制符 
	// int对应%d,float对应 %f,double对应 %lf,char对应 %c,long long对应 %lld 
	//格式控制符应与变量的数据类型一一对应,如果不一致,编译不会报错,但结果将不正确  
	int a,b; 
	float f;
	double d;
	char c;
	long long la; 	
	//格式化输入语句 基本格式:scanf("格式控制字符串",&变量名);其中&为取地址符,也就是变量所处的地址 
	scanf("%d",&a);
	scanf("%f",&f);
	scanf("%lf",&d);
	scanf("%c",&c);
	scanf("%lld",&la);
	//多个变量的输入
	scanf("%d%d",&a,&b); 
	//在输入多个数值类型时,要用空格或者回车键作为每两个输入数之间的间隔 
	scnaf("a=%d,b=%d",&a,&b);
	//scanf语句的格式控制串中有非格式字符,则在输入时必须原样输入,否则会造成乱码 
	//例如本条scanf语句中“”中的a=和b=就是非格式字符,所以在输入时必须原样输入
	//格式化输出语句,基本格式:printf("格式控制字符串" ,输出列表) 
	printf("%d",a);
	printf("%f",f);
	printf("%lf",d);
	printf("%c",c);
	printf("%lld",la);
	//控制小数的输出位数
	printf("%.4lf",f);//保留4位小数 
	printf("%.2lf",d);//保留2位小数 
	//printf语句中的\n为换行
	printf("%d\n",a);//输出int类型的变量a并换行
	//多个变量的输出
	printf("%d%d",a,b);//输出int型变量a和b,同样需要用空格隔开
	//与scanf相似,当格式控制符中有非格式字符时也是起到提示的作用照原样输出
	printf("a=%d,b=%d",a,b)//例如a为4,b为5时,输出结果会是:a=4,b=5 
	//补充(了解即可):printf输出时控制输出宽度,假设int型变量a=4,b=5,double型变量d=1.0
	printf("10.0/6.0=%.3f",10.0/6.0);
	printf("10.0/6.0=%9.3f",10.0/6.0);//表示输出的域宽为9,保留3位小数,若域宽不够,则左边补空格
	printf("%05d",a);//表示输出域宽为5,若域宽不够,则左边补数字0
	//域宽主要是可以用来控制右对齐,如果输出数据的宽度小于域宽,则会用空格或者0来填补左侧缺省宽度 
	//scanf语句只能用来输入,并不能进行精度控制和域宽设置,不要和printf搞混 
	return 0;
}

1 条评论

  • 1