首页 百科知识 数据的格式输入与输出

数据的格式输入与输出

时间:2022-09-22 百科知识 版权反馈
【摘要】:作用是将要输出的数据转换成指定的格式输出。格式说明总是由“%”字符开始的。格式控制字符串通常用小写字母书写,并且要用双引号标注。格式控制字符必须与输出表列一一对应,输出表列之间用逗号隔开。scanf()函数的格式控制字符串和printf()函数一样。在输入数据时,若遇到空格、回车、跳格,系统认为数据结束;若指定了宽度,则达到宽度后结束;如果遇到非法输入,系统也认为数据结束。

3.5.2 数据的格式输入与输出

1.格式输出函数printf()

函数使用形式:printf(格式控制字符串,输出表列);

作用:将“输出表列”中的数据按照“格式控制字符串”的要求输出。

例如:

img58

格式控制字符串包含两部分内容,即格式说明和普通字符。

(1)格式说明:由“%”和格式字符组成。如%d,%f等。作用是将要输出的数据转换成指定的格式输出。格式说明总是由“%”字符开始的。表3-8列出了printf()函数的格式字符,除了格式字符以外,printf()函数还可以使用附加格式字符,表3-9列出了printf()函数的附加格式字符,附加格式字符放在格式字符与%之间。

(2)普通字符:按照原样输出字符。

例如:

img59

printf函数中的“a=”和“b=”是普通字符,按原样输出。输出结果是:a=10,b=8

(3)在格式控制字符串中,可以使用转义字符(详见表3-3)。

(4)格式控制字符串通常用小写字母书写,并且要用双引号标注。格式控制字符必须与输出表列一一对应,输出表列之间用逗号隔开。

表3-8

img60

表3-9

img61

例3.8 以带符号形式输出整数和实数。

程序如下:

img62

程序运行结果如下:(■表示空格)

img63

例3.9 输出长整型整数。

程序如下:

img64

程序运行结果如下:

123456789,-13035

注意:

长整型整数必须使用L或l附加格式,否则会出错。

例3.10 用不同进制形式输出正整数。

程序如下:

img65

程序运行结果如下:

66,102,42,B

例3.11 用不同进制形式输出负整数。

程序如下:

img66

程序运行结果如下:

img67

例3.12 输出字符串。

程序如下:

img68

img69

程序运行结果如下:(■表示空格)

china,■■chi

(5)实数输出时,如果要降低小数部分精确度,系统自动按四舍五入的方式进行取舍。

例3.13

程序如下:

img70

程序运行结果如下:(■表示空格)

img71

(6)如果要输出“%”,应在格式控制字符串中连续使用两个%。

例3.14

程序如下:

img72

程序运行结果如下:(■表示空格)

img73

(7)如果在%后面紧跟0,则多余的空位用0来填补。

例3.15

程序如下:

img74

img75

程序运行结果如下:

img76

(8)如果在%后紧跟*,则输出列表中对应的数据表示后一个数据的输出宽度。

例3.16

img77

程序运行结果如下:(■表示空格)

img78

2.格式输入函数scanf()

函数使用形式:scanf(格式控制字符串,变量地址表列);

作用:按照“格式控制字符串”的要求,输入变量的值。

例如:

img79

&是地址运算符,取变量的地址值。

scanf()函数的格式控制字符串和printf()函数一样(见表3-8)。同样,scanf()函数也可以使用附加格式字符,表3-10列出了scanf()函数的附加格式字符。

(1)格式控制字符串中的普通字符按原样输入。

例3.17

程序如下:

img80

img81

程序运行结果如下:

img82

(2)如果指定了输入数据所占的列数,系统自动按它截取所需数据。

表3-10

img83

例3.18

程序如下:

img84

程序运行结果如下:

img85

(3)在用%c格式输入单个字符时,空格字符和转义字符都是有效的具体字符。

例3.19

程序如下:

img86

img87

程序运行结果如下:(■表示空格)

img88

(4)在输入数据时,若遇到空格、回车、跳格(Tab键),系统认为数据结束;若指定了宽度,则达到宽度后结束;如果遇到非法输入,系统也认为数据结束。

(5)如果在%后紧跟*,表示对应的输入数据在输入后不赋给相应变量。

例3.20

程序如下:

img89

程序运行结果如下:

img90

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈