欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据的输入输出

程序员文章站 2022-04-10 22:09:51
getchar、scanf、puchar、printf函数时系统提供的标准输入/输出库函数,需要调用这些函数,需要包含头文件 1.字符输出函数putchar putchar函数的作用时向终端输出一个字符,函数参数可以是字符变量、字符常量或者字符的ACSII码、也可以输出其他转义字符 ......

getchar、scanf、puchar、printf函数时系统提供的标准输入/输出库函数,需要调用这些函数,需要包含<stdio.h>头文件

1.字符输出函数putchar

putchar函数的作用时向终端输出一个字符,函数参数可以是字符变量、字符常量或者字符的acsii码、也可以输出其他转义字符

如putchar(97);

2.格式输出函数printf

printf函数的功能是按指定格式控制要求,输出相应的参数值

格式为:

printf("格式控制字符串“,参数1,参数2,...);

如:

printf("a=%d,b%f\n",a,b);

"a=%d,b=%f\n"是格式控制字符串,其中的%d、%f是格式说明,而其他字符都是普通字符;参数a和b是要输出的数据,格式说明中%d对应参数a,%f对应参数b.

如果a和b的值分别为23和3.7,则输出结果为:a=23,b=3.700000.

 

 printf函数中常用的格式字符及其作用
输出的数据类型
格式字符
作用
整型数据
 
 
 
d或i
以有符号十进制形式输出整型数
o
以无符号八进制形式输出整型数
x或x
以无符号十六进制形式输出整型数
u
以无符号十六进制形式输出整型数
浮点型数据
 
 
f
以小数形式输出浮点型数(隐含输出6位小数)
e或e
以指数形式输出浮点型数
g或g
按数值宽度最小形式输出浮点型数
字符型数据
 
c
输出一个字符
s
输出字符串
 
printf函数中的附加格式说明符及其说明 
附加字符
说明
l
输出长整型数据(只可与d\o\x\u结合用)
m
指定数据输出宽度(即域宽)
.n
对实型数据,指定输出n位小数;对字符串,指定左端截取n个字符输出
+
使输出的数值数据无论正负都带符号输出
-
是数据在输出域内按左对齐的方式输出
如:
%ld——输出十进制长整型数据
%m.nf——输出m为浮点型数据。其中,m为域宽(整数位数+小数位数+小数点),n为小数位数(自动对n位后小数进行四舍五入)或n个字符;若输出数本身长度小于m,则左边补空格,即右对齐的方式
%-m.nf——若输出数本身的长度小于m,则右边补空格,即为左对齐的方式
 
注意:
  • printf函数格式控制字符串中的格式说明符与输出参数的个数和类型必须一一对应,否则会出现错误。
  • 格式说明中的%和后面的格式字符之间不能有空格,除了x、e、g格式字符外,其他格式字符必须用小写字母,如%c不能写成%c。
  • 长整型数应该用%ld(或%lo、%lx、%lu)格式输出,否则会出现输出错误。
  • printf函数的参数可以是常量、变量或表达式。
  • 可以再printf函数中的“格式控制字符串”内包括“转义字符”,如'\n''\t''\r''\b'等
  • 如果想输出字符’%‘,则应该再“格式控制字符串”中连续用两个%%表示

如:printf ("%f%%",2.0/3);

输出0.666666%

  • 如果格式字符与参数类型不一致,会输出错误结果

3.字符输入函数getchar

getchar函数的作用时从终端输入一个字符,getchar函数没有参数,

一般形式为:

char getchar( )

4.格式输入函数scanf

一般格式为:

scanf("格式控制字符串”,参数1,参数2,……);

参数指明输入数据所要放置的地址,变量名前加上&,表示取变量地址。

如:scanf("a=%d,b=%f",&a,&b);

scanf函数中常用的格式字符及其作用

输出的数据类型
格式字符
作用
整型数据
   
d或i
以有符号十进制形式输出整型数
o
以无符号八进制形式输出整型数
x或x
以无符号十六进制形式输出整型数
u
以无符号十六进制形式输出整型数
浮点型数据
 
f
以小数形式输出浮点型数(隐含输出6位小数)
e或e
以指数形式输出浮点型数
字符型数据
 
c
输出一个字符
s
输出字符串

 

 

scanf函数中的附加格式说明符及其说明

附加字符
说明
l 输出长整型数据(只可与d\o\x\u结合用)
m

指定数据输出宽度(即域宽)

对(float和double型,域宽指整数位数+小数点+小数位数)

* 忽略读入的数据(即不将读入数据赋予相应变量)