C语言printf()和puts()的简单使用
程序在计算机的内存中运行,得出结果以后总是需要输出,这样我们才能查看程序的运行状况。C语言用于输出的主要方法是使用格式输出函数 printf( ) 和字符串输出函数 puts( )。
printf( ) 函数的作用就是把字符、数字和单词发送到电脑屏幕上(屏幕打印)。
printf( )的一般格式如下:
puts( )函数是把字符串输出到电脑屏幕上并换行。
只要把需要在屏幕上显示的字符串消息放在双引号中,电脑执行 printf( ) 和 puts( ) 语句时,就会在屏幕上原样打印出该字符串消息(见图 1 )。

图 1:printf( ) 函数把字符、数字和单词发送到电脑屏幕上
因为数字、字符在计算机内部都是以二进制数来存储和处理的,所以需要屏幕打印数字和字符时,必须准确地告诉 C 程序需要打印的内容是什么数据类型(格式)。C语言使用转化字符来表明数据的格式。表 1 列举了 C语言中常用的 4 种转化字符。
如果仅仅输出一个字符串,则可以省略转化字符 %s,比如:
但如果输出与其他数据组合的字符串时,必须用转化字符 %s(见图 3),比如:
转化字符 %f 默认输出一个 6 位小数位的浮点数,如果不足 6 位,也会在后面补 0,如果超过 6 位则会四舍五入转化为 6 位小数位再输出。使用 %.nf 的形式可以用其中的 n 来指定输出的小数位数,比如 %.2f 表示输出 2 位小数位的浮点数(见图 4)。

图 4:利用转化字符 %.nf 显示不同小数位的浮点数
如果要在屏幕上输出字符“%”,可以使用下面的方式:
如果要在屏幕上输出反斜杠字符


图 5:C语言中转义序列的使用
表 4 列出了 C语言常用的转义序列。
用 printf( ) 输出转义字符都会产生表中所描述的效果。例如,当发送
在使用 printf( ) 的 C 程序中,必须在程序的预处理指令部分添加指令包含 stdio.h 头文件:
printf( )函数实现屏幕打印的两个实例如代码清单 3 和代码清单 4 所示。
代码清单 3:使用 printf( ) 打印字符图形
运行结果:
代码清单 4:使用 printf( ) 打印表格
运行结果:
printf( ) 函数实现 C语言关机程序提示界面实例如代码清单 5 所示。
代码清单 5:使用 printf( ) 屏幕打印提示信息
运行结果:
printf( ) 函数通过变量名将变量的值显示在屏幕上的实例如代码清单 6 所示。
代码清单 6:使用 printf( ) 屏幕打印变量值
运行结果:
图 6 形象地展示了 printf( ) 函数将变量值显示到屏幕上的方式。

图 6:printf( ) 函数屏幕打印变量的值图例详解
想继续深入学习 printf() 的读者请猛击《printf()输出格式大全》。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
printf( ) 函数的作用就是把字符、数字和单词发送到电脑屏幕上(屏幕打印)。
printf( )的一般格式如下:
printf("格式控制字符串",输出表列); //输出表列各项用符号,
分隔开
puts( )函数是把字符串输出到电脑屏幕上并换行。
puts("Hello World!"); //屏幕打印字符串消息并换行
只要把需要在屏幕上显示的字符串消息放在双引号中,电脑执行 printf( ) 和 puts( ) 语句时,就会在屏幕上原样打印出该字符串消息(见图 1 )。

图 1:printf( ) 函数把字符、数字和单词发送到电脑屏幕上
因为数字、字符在计算机内部都是以二进制数来存储和处理的,所以需要屏幕打印数字和字符时,必须准确地告诉 C 程序需要打印的内容是什么数据类型(格式)。C语言使用转化字符来表明数据的格式。表 1 列举了 C语言中常用的 4 种转化字符。
转化字符 | 描述 | 输出示例 | 说明 |
---|---|---|---|
%d | 整数 | printf("%d",16); | 输出整数 16 |
%f | 浮点数 | printf("%f",3.14); | 输出小数 3.140000 |
%c | 字符 | printf("%c",'x'); | 输出字符 'x' |
%s | 字符串 | printf("%s","China"); | 输出字符串 "China" |
如果仅仅输出一个字符串,则可以省略转化字符 %s,比如:
printf("%s","Hello World!"); 可简写为: printf("Hello World!");
但如果输出与其他数据组合的字符串时,必须用转化字符 %s(见图 3),比如:
printf("%s 一斤 %f 元,%s 一斤 %d 元","苹果",2.5,"西瓜",2);

图 3:printf( ) 函数利用转化字符在屏幕上显示不同格式的数据
转化字符 %f 默认输出一个 6 位小数位的浮点数,如果不足 6 位,也会在后面补 0,如果超过 6 位则会四舍五入转化为 6 位小数位再输出。使用 %.nf 的形式可以用其中的 n 来指定输出的小数位数,比如 %.2f 表示输出 2 位小数位的浮点数(见图 4)。

图 4:利用转化字符 %.nf 显示不同小数位的浮点数
如果要在屏幕上输出字符“%”,可以使用下面的方式:
printf("%%"); //双引号中的两个%
在屏幕上只显示一个
printf("%%d %%c %%f %%s"); //屏幕显示:%d %c %f %s
如果要在屏幕上输出反斜杠字符
\
或引号" "
,则必须使用 C语言的转义序列。转义序列就是在要显示的特殊字符前面加一个反斜杠\
,以便显示该特殊字符,或者让电脑执行某些特殊动作(比如换行、响铃等)(见图 5)。

图 5:C语言中转义序列的使用
表 4 列出了 C语言常用的转义序列。
转义序列 | 描述 | 输出示例 |
---|---|---|
\n | 换行 | printf("第一行 \n 第二行"); |
\a | 警报(电脑响铃) | printf("电脑响铃一次 \a"); |
\t | 制表符 | printf("\t 首行缩进一个制表符位"); |
\\ | 反斜杠 | printf("显示两个反斜杠 \\\\"); |
\" | 双引号(英文半角字符) | printf("显示双引号 \" 中国 \"!"); |
用 printf( ) 输出转义字符都会产生表中所描述的效果。例如,当发送
\a
到屏幕时,电脑的铃声会响起,而不是真把字符\
和a
显示出来。屏幕显示多行文本时,如果想要移到下一行,就必须在换行的位置键入\n
。在使用 printf( ) 的 C 程序中,必须在程序的预处理指令部分添加指令包含 stdio.h 头文件:
#include<stdio.h>
printf( )函数实现屏幕打印的两个实例如代码清单 3 和代码清单 4 所示。
代码清单 3:使用 printf( ) 打印字符图形
#include <stdio.h> #include <stdlib.h> int main( ) { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf(" *******\n"); printf(" *****\n"); printf(" ***\n"); printf(" *\n "); system("pause"); return 0; }
运行结果:
* *** ***** ******* ***** *** *
代码清单 4:使用 printf( ) 打印表格
#include <stdio.h>#include <stdlib.h> int main( ) { printf("┌———┬———┐\n"); printf("│ 中国 │ 美国 │\n"); printf("├———┼———┤\n"); printf("│CHINA │ USA │\n"); printf("├———┼———┤\n"); printf("│ 95%% │ 98%% │\n"); printf("└———┴———┘\n\n "); system("pause"); return 0; }
运行结果:
┌———┬———┐ │ 中国 │ 美国 │ ├———┼———┤ │CHINA │ USA │ ├———┼———┤ │ 95% │ 98% │ └———┴———┘
printf( ) 函数实现 C语言关机程序提示界面实例如代码清单 5 所示。
代码清单 5:使用 printf( ) 屏幕打印提示信息
#include <stdio.h>#include <stdlib.h> int main( ) { printf("\n\n\n"); printf(" ╔══════ C语言关机程序══════╗\n"); printf(" ║ ║\n"); printf(" ║ ※ 1.实现10分钟内的定时关闭计算机 ║\n"); printf(" ║ ※ 2.立即关闭计算机 ║\n"); printf(" ║ ※ 3.注销计算机 ║\n"); printf(" ║ ※ 0.退出系统 ║\n"); printf(" ║ ║\n"); printf(" ╚═══════════════════╝\n\n"); printf(" 请选择输入(0-3),然后回车:"); int ss; scanf("%d",&ss); printf("\n\n\n"); system("pause"); return 0; }
运行结果:
╔══════ C语言关机程序══════╗ ║ ║ ║ ※ 1.实现10分钟内的定时关闭计算机 ║ ║ ※ 2.立即关闭计算机 ║ ║ ※ 3.注销计算机 ║ ║ ※ 0.退出系统 ║ ║ ║ ╚═══════════════════╝ 请选择输入(0-3),然后回车:2
printf( ) 函数通过变量名将变量的值显示在屏幕上的实例如代码清单 6 所示。
代码清单 6:使用 printf( ) 屏幕打印变量值
#include <stdio.h>#include <stdlib.h> int main( ) { printf("计算学生的总分和平均分:\n\n"); float maths,english,chinese; float average,sum; char stuName[ ]="王小石"; maths = 94.5; english = 96; chinese = 88; sum = maths + english + chinese; printf("%s同学的总分:%.1f\n",stuName,sum); printf("%s同学的平均分:%.2f\n",stuName,sum/3); system("pause"); return 0; }
运行结果:
计算学生的总分和平均分:
王小石同学的总分:278.5
王小石同学的平均分:92.83
图 6 形象地展示了 printf( ) 函数将变量值显示到屏幕上的方式。

图 6:printf( ) 函数屏幕打印变量的值图例详解
总结
-
C 程序中输出双引号
" "
和反斜杠\
时,必须在其前面使用转义符\
。 -
C语言中输出多行文本时,用转义字符
\n
实现换行。 -
用 puts( ) 输出字符串时,会自动换行,不需添加
\n
。
想继续深入学习 printf() 的读者请猛击《printf()输出格式大全》。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。