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

图 1:printf( ) 函数把字符、数字和单词发送到电脑屏幕上
因为数字、字符在计算机内部都是以二进制数来存储和处理的,所以需要屏幕打印数字和字符时,必须准确地告诉 C 程序需要打印的内容是什么数据类型(格式)。C语言使用转化字符来表明数据的格式。表 1 列举了 C语言中常用的 4 种转化字符。
表 1:C语言中的转化字符输出示例
转化字符
描述
输出示例
说明
%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语言常用的转义序列。
表 4:C语言常用的转义序列描述
转义序列
描述
输出示例
\n
换行
printf("第一行 \n 第二行");
\a
警报(电脑响铃)
printf("电脑响铃一次 \a");
\t
制表符
printf("\t 首行缩进一个制表符位");
\\
反斜杠
printf("显示两个反斜杠 \\\\");
\"
双引号(英文半角字符)
printf("显示双引号 \" 中国 \"!");
用 printf( ) 输出转义字符都会产生表中所描述的效果。例如,当发送\a到屏幕时,电脑的铃声会响起,而不是真把字符\和a显示出来。屏幕显示多行文本时,如果想要移到下一行,就必须在换行的位置键入\n。
在使用 printf( ) 的 C 程序中,必须在程序的预处理指令部分添加指令包含 stdio.h 头文件:#include
printf( )函数实现屏幕打印的两个实例如代码清单 3 和代码清单 4 所示。
代码清单 3:使用 printf( ) 打印字符图形
#include
#include
int main( )
{
printf(" *\n");
printf(" ***\n");
printf(" *****\n");
printf(" *******\n");
printf(" *****\n");
printf(" ***\n");
printf(" *\n ");
system("pause");
return 0;
}
运行结果:
*
***
*****
*******
*****
***
*
代码清单 4:使用 printf( ) 打印表格
#include #include 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 #include 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 #include 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语言中输出字符串的基本方法,包括printf()函数的格式控制和puts()函数的简单使用。通过示例详细讲解了如何使用printf()输出整数、浮点数、字符和字符串,并探讨了转义序列和转义字符的用法。puts()函数则用于输出字符串并自动换行。理解这些基本输出函数对于C语言的学习至关重要。
1798

被折叠的 条评论
为什么被折叠?



