3.2 数据的输入与输出,输入输出函数的调用
1.C语言本身没有提供输入、输出操作语句。C程序的输入和输出完全依靠调用C语言的标准输入、输出函数来完成。四个常用的输入、输出函数是:
printf函数、scanf函数、putchar函数、getchar函数
2.printf函数是C语言提供的标准输出函数,它的作用是在终端设备(或系统隐含指定的输出设备)上按指定格式进行输出。Printf函数的一般调用形式如下:
printf(格式控制,输出项表)
如果在printf函数调用之后加上″;″,就构成了输出语句。
格式控制参数以字符串的形式描述,由两部分组成:
①普通字符:将被简单地显示;
②格式字符:将引起一个输出参数项的转换和显示,由“%”引出并以一个类型描述符结束的字符串,中间可加一些可选的附加说明项,如下表所示。
附加说明项
附加说明项
说 明
-或+ 用于指定是否对齐输出,具有“-”符号表示左对齐,无“-”或有“+”表示右对齐
0 用于指定是否填写0,有此项表示空位用0补充,无此项表示以空格补充
m.n 用于指定输出域宽及精度,m是指域宽,n为精度,当指定n时,隐含的精度为6位
L或h 用于输出长度修正。其中,l对于整型是指long,对实型是double;h只用于整型的格式字符,并修正为short型
格式字符用于指定输出项的数据类型及输入格式,如下表所示。
注意:编译程序只是在检查了printf函数中的格式参数后,才能确定有几个输出项,是什么类型、以什么格式输出。在编程序时,应使输出格式与输出项对应。
格式字符
格式字符
说 明
CcD 输出一个字符
d或I 输出带符号的十进制整型数
OoO 以八进制无符号形式输出整型数(不带前导0)
x或X 以十六进制无符号形式输出整型数(不带前导0x或0X),对于x,用abcdef输出十六进制数码;对于X,用ABCDEF输出十六进制数码
UuU 按无符号的八进制形式输出整型数
FfF 以小数的形式输出单精度或双精度数,小数位由精度指定,隐含的精度为6;如指定精度为0,则小数部分(包含小数点)都不输出
e或E 以指数形式输出单精度及双精度数,小数位数由精度指定,隐含的精度为6;如指定精度为0,则小数部分(包含小数点)都不输出
g或G 由系统决定是采用%f不是采用%e格式,以便使输出宽度最小
SsS 输出字符串中的字符,直到遇到″\0″时为止,或输出指定的字符数
PpP 输出变量的内存地址
% 打印一个%
3.scanf函数是C语言提供的标准输入函数,它的作用是在终端设备(或系统隐含指定的输入设备)上输入数据。Scanf函数的一般调用形式是:
scanf(格式控制,输入项表)
如果在scanf函数调用之后加上″;″,就构成了输入语句。
格式控制是用双引号括起来的字符串,称为格式控制串。格式控制串的作用是指定输入时的数据转换格式,即格式转换说明。格式转换说明是由″%″符号开始,其后是格式描述符。
输入项表中的各输入项用逗号隔开,各输入项只能是合法的地址表达式,即在变量之前加一个地址符号″&″。
在scanf函数中每个格式说明都必须用%开头,以一个″格式字符″结束。
Scanf函数中的格式控制字符与printf函数中的相似,由格式说明项与输入格式符组成。格式说明项如下表所示。
格式说明项
格式说明项 说 明
% 起始符
* 赋值抑制符,用于按格式说明读入数据,但不送给任何变量
MmM 域宽说明
l或h 长度修正说明符
scanf中的格式字符如下表所示。
格式说明项 说 明
CcC 输入一个字符
DdD 输入十进制整型数
IiI 输入整型数,整数可以是带前导0的八进制数,带前导0x(或0X)的十六进制数
OoO 以八进制形式输入整型数(可为带前导0,也可不带前导0)
XxX 以十六进制形式输入整型数(可带前导0x或0X,也可不带)
UuU 无符号十进制整数
FfF 以带小数点形式或指数形式输入实型数
EeE 与f的作用相同
SsS 输入字符串
4.putchar函数的作用是把一个字符输出到标准输出设备(常指显示器或打印机)上。一般调用形式为
putchar(ch) ;
其中ch代表一个字符变量或一个整型变量,ch也可以代表一个字符常量(包括转义字符常量)。
5.getchar函数的作用是标准输入设备(通常指键盘)上读入一个字符。一般调用形式为
getchar();
getchar函数本身没有参数,其函数值就是从输入设备得到的字符。
2017年计算机二级C语言考点归纳:数据的输入与输出,输入输出函数的调用.doc