1.3 printf()函数初步

1.3.1 简单的一般用法

printf()函数是一个库函数,它的基本功能是在屏幕(术语叫做标准输出设备)上输出一系列字符。所谓“库函数”,就是一段别人事先已经写好了的、可以供程序直接使用的程序片段(函数)。这些程序片段是和编译器一起发布的。或者说如果你有了编译器,就可以使用这些已经事先写好了的程序片段。

如前面所说的那样,使用库函数之前需要对这个库函数的函数名称适当加以说明,这一点可以通过在库函数被调用之前加上一个#include<文件名>的预处理命令实现。对于printf()函数来说<>内的文件名称应是stdio.h。顺便说一句“std”是standard的缩写,“io”的意思是输入输出的意思。

printf()函数最简单的用法是:

printf("字符串");

其中字符串的内容由程序的作者确定的,其余部分是固定的格式。这条语句的功能是在标准输出设备(就是显示器的屏幕)上输出"字符串"的内容。例如:

1.3 printf()函数初步 - 图1

其执行的结果就是在标准输出设备上(显示器)输出“abcd”四个字符。

printf()函数调用“()”中的第一个字符串叫做格式控制字符串。其中的字符都原样输出,除非出现“\”引导的字符序列或“%”引导的字符序列。

1.3.2 特殊的字符

有些字符无法按照本来的样子写在""之内,如回车换行等,因为直接使用它们的话将写出下面样子的代码:

1.3 printf()函数初步 - 图2

这违反了c语言的语法规则。把"字符串"这样整体上不容割裂的东西割裂成了两行(9)

再比如,如果把“"”(双引号)写入“""”之内将引起编译器的误解,因为前两个“""”已经构成了一个字符串,而后一个则由于没有与之对应的“"”而无法解释。这时通常用\再加上一个字母的方式来表示这些无法直接书写的字符。换句话说,在“""”之内的“\”并不意味着“\”这个字符本身,而是与后面的一个字母共同作为一个字符而被编译器理解的。这样的情况有以下几种:

1.3 printf()函数初步 - 图3

这叫做转义字符。其意思是说字符串中的“\”不是“\”本身,而是与后面的字符合起来作为一个整体表示另一个字符的意思。例如:

1.3 printf()函数初步 - 图4

输出结果将是:

1.3 printf()函数初步 - 图5

对于标准输出设备,\t的作用相当于键盘上[Tab]键的效果。

此外,在调用printf()函数时,如果字符串中有字符“%”,需要写成“%%”才表示输出一个“%”(需要说明的是,只在printf()输出的字符串中如此,原因在于在printf()输出的字符串中“%”有特殊的含义)。

练习

1.将程序代码1-中的“\n”改成“\t”、“\b”、“\a”、“\x”,观察程序输出结果,并总结“\t”、“\b”、“\a”、“\x”这几个转义字符的含义。

2.编程:要求输出如下内容。

100%

3.在编写代码时故意犯几个错误(如少写“;”、“)”等),观察编译结果。