文档介绍:第三章数据输入与输出
数据输出
数据输入
数据输出
格式: putchar( c )
参数: c为字符常量、变量或表达式
功能:把字符c输出到显示器上
返值:正常,为显示的代码值;出错,为EOF(-1)
C语言无I/O语句,I/O操作由函数实现
字符输出函数
#include <>
格式:printf(“格式控制串”,输出表)
功能:按指定格式向显示器输出数据
返值:正常,返回输出字节数;出错,返回EOF(-1)
输出表:要输出的数据(可以没有,多个时以“,”分隔)
格式控制串:包含两种信息
格式说明: %[修饰符]格式字符,用于指定输出格式
普通字符或转义序列:原样输出
格式字符
格式输出函数
d,i
x,X
o
u
c
s
e,E
f
g
%%
十六进制无符号整数
不带符号十进制整数
十进制整数
指数形式浮点小数
单一字符
字符串
八进制无符号整数
小数形式浮点小数
e和f中较短一种
百分号本身
int a=567;printf ( “%d”,a);
int a=255;printf(“%x”,a);
int a=65;printf(“%o”,a);
int a=567;printf(“%u”,a);
char a=65;printf(“%c”,a);
printf(“%s”,“ABC”);
float a=;printf(“%e”,a);
float a=;printf(“%f”,a);
float a=;printf(“%g”,a);
printf(“%%”);
567
ff
101
567
A
ABC
+02
%
说明
格式字符要用小写
格式字符与输出项个数应相同,按先后顺序一一对应
输出转换:格式字符与输出项类型不一致,自动按指定格式输出
表格
.n
对实数,指定小数点后位数(四舍五入)
修饰符
功能
m
输出数据域宽,数据长度<m,左补空格;否则按实际输出
输出数据在域内左对齐(缺省右对齐)
-
指定在有符号数的正数前显示正号(+)
+
输出数值时指定左面不使用的空位置自动填0
0
在八进制和十六进制数前显示前导0,0x
#
在d,o,x,u前,指定输出精度为long型
在e,f,g前,指定输出精度为double型
l
附加格式说明符(修饰符)
对字符串,指定实际输出位数
例 int a=1234;
float f=;
printf(“%08d\n”,a);
printf(“%\n”,f);
printf(“%0+8d\n”,a);
printf(“0+\n”,f);
0 、+
例 int a=123;
printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例#
例 long a=65536;
printf(“%d,%8ld\n”,a, a);
例 l
00 00 00 00 00 00 00 01
00 00 00 00 00 00 00 00
//00001234
//
//000+1234
//000+
//173,0173,7B,0X7B
//0, 65536
例
格式:getchar( )
功能:从键盘读一字符
返值:正常,返回读取的代码值;出错,返回EOF(-1)
字符输入函数
例
/**/
#include <>
main()
{ int c;
printf("Enter a character:");
c=getchar();
printf("%c--->hex%x\n",c,c);
}
运行结果:
Enter a character:A
A--->hex41
数据输入
格式: scanf(“格式控制串”,地址表)
功能:按指定格式从键盘读入数据,存入地址表指定的
存储单元中,并按回车键结束
返值:正常,返回输入数据个数
地址表:变量的地址,常用取地址运算符&
格式字符:d,i,o,x,u,c,s,f,e
例 scanf(“%d”,&a);
输入:10
则 a=10
例 scanf(“%x”,&a);
输入:11
则 a=17
格式输入函数
附加格式说明符(修饰符)
l
修饰符
功能
h
m
*
用于d,o,x前,指定输入为short型整数
用于d,o,x前,指定输入为long型整数
用于e,f前,指