C语言输入输出(左端对齐,右端对齐,对齐补零……)

时间:2025-04-06 08:29:44

 输入、输出函数的头文件是 


整数数据控制符 

整型数据(格式控制说明)
数据类型 十进制 八进制 十六进制
int %d %o %x
long %ld %lo %lx
long long %lld %llo %llo

举例说明:

#include<>
int main()
{
	int a=11;
	printf("十进制输出:%d\n",a);
	printf("八进制输出:%o\n",a);
	printf("十六进制输出:%x\n",a);
	 
	return 0;
 } 
 

输出:

十进制输出:11
八进制输出:13
十六进制输出:b

 

实数数据控制符

实数数据(格式控制说明)
函数 数据类型 控制符 说明
scanf

float

%f 输入单精度浮点数
double %lf 输入双精度浮点数
printf float %f 输出浮点数(默认保留6位小数)
double

 

#include<>
int main()
{
	float a;
	double b;
	scanf("%f %lf",&a,&b);
	
	printf("a=%f\n",a);
	printf("b=%f\n",b);
	return 0;
}

 举例输入

0.123 1.23456

 输出

a=0.123000
b=1.234560

 scanf输入

1.宽度限定——%m

%m格式可以指定输入域宽,输入数据域宽,按照宽度截取所需要的数据

#include<>
int main()
{
	int a;
	scanf("%2d",&a);
	printf("a=%d",a);
	return 0;
 } 

输入:

1234

输出 :

a=12

2.输入跳过某变量

scanf("%*c%d",&x); 

在%后面,格式字符之间加入附加说明符*,表示跳过给输入。

 

#include<>
int main()
{
	int a,b;
	scanf("%d%*c%d",&a,&b);
	printf("a=%d\n",a);
	printf("b=%d\n",b);
	return 0;
}

输入 

12a34

输出 

a=12
b=34

printf输出

1.格式化输出整数

  • %d:按实际数据输出
  • %md:m为指定输出数据的宽度。如果实际数据位数小于m,则左端补空格(%-md是右端补空格);若大于m,则按实际位数输出。
  • %0md:m也是指定输出数据的宽度。同上,实际数据位数小于m时,左端补0
#include<>
int main()
{
	printf("1.%d\n",1234);
	
	printf("2.%6d\n",1234);
	
	printf("3.%-6d\n",1234);
	
	printf("4.%2d\n",1234);
	
	printf("5.%06d\n",1234);
	
	return 0;
}

 输出:

1.1234
2.  1234
3.1234
4.1234
5.001234

2.格式化输出实数

  • %f:保留六位小数输出
  • %.nf:输出n位小数
  • %:输出宽度是m(m包括符号位和小数位),保留n位小数。若数值宽度小于m,则左端补空格。
#include<>
int main()
{
	printf("%f\n",3.1415926);
	
	printf("%.7f\n",3.1415926);
	
	printf("%6.4f\n",3.1415926);
	
	printf("%10.4f\n",3.1415926);
	
	return 0;
}

 输出:

3.141593
3.1415926
3.1416
    3.1416

 其他控制符说明

控制符 说明
%c 输入输出一个字符
%s 输入输出字符串
%u 输出无符号整数(unsigned)。输出无符号整数时也可以用%d,这时是将无符号数转换为有符号数,但不建议使用这只是增加了CPU的工作量。