格式输入scanf

  • 格式:docx
  • 大小:17.10 KB
  • 文档页数:2

1、C语言有哪些输入输出格式?具体如何应用?
答:C语言具体输入输出格式如下:
类型 格式 printf scanf(输入)
charch
charch[8]
char *p %c 输出单字符 scanf(“%c”,&ch);
%s 输出串 scanf(“%s”,ch);
scanf(“%s”,p);
int x
short x
long x %d/%i 输出有符号十进制整数 scanf(“%d”,&x);
scanf(“%ld”,&x);
%ld 输出long型数据
%o 输出八进制
%x 输出十六进制
unsigned %u 输出无符号十进制整数
float
double %f 输出浮点数.默认小数点前7位,小数点后6位 scanf(“%f”,&x);
scanf(“%lf”,&x);
%lf 输出long double型数据,默认小数点前16位,小数点后6位
%e 输出浮点数指数形式
%g 输出浮点数,不输出无意义的0.如1.000输出1
%% 输出%号
*p %p 指针输出

其他说明:
①关于标志说明:
标志 举例 具体说明
- printf(“%-10d”,12); 位宽10(1=1Byte),左对齐,右边补8个空格(因为12占2位,共10
位).
+ printf(“%10d”,12); 位宽10,右对齐,左边补8个空格.
# printf(“%#x”,37); 输出带0x号十六进制.0x25
o printf(“%#o”,37); 输出带0的八进制.045
printf(“10.3f”,123.67891); 位宽10,保留3位小数,按四舍五入取,右对齐,左补3个空格.
l printf(“%ld”,1234567); 输出长整型1234567
printf(“%lf”,123456.2); 输出长双精度型:
123456.200000
printf(“%10.3s”,”chinese”); 位宽10,从左往右取串前3个字符,即chi,右对齐,左补7
个空格.
②关于无符号unsigned类型的输出说明:
问:unsigned a=-1; printf("%u",a); 输出多少?为什么?
答:输出65535. 因为变量a为无符号型,必须对-1求补码取值。-1补码为
1111111111111111,全部都为数据位,故其值为65535。依此类推:unsigned a=-2,则输出:
65534.
③有这么一个语句,请同学们了解下:
int x; printf(“good%n”,&x);printf(“%d”,x);
在这样的语句里,变量x被赋予了串good的
长度.即为4.
④关于负数的16进制输出规则:先求负数补码,再按每4位输出:如
printf(“%x”,-1); -1D=1111111111111111B(补),则输出:ffff (不是vc6.0)