printf("C语言中文网");这个语句可以在屏幕上显示“C语言中文网”,与
puts("C语言中文网");
的效果类似。int abc=999; printf("%d", abc);这里就比较有趣了。先来看
%d
,d 是 decimal 的缩写,意思是十进制数,%d 表示以十进制整数的形式输出。输出什么呢?输出变量 abc 的值。%d 与 abc 是对应的,也就是说,会用 abc 的值来替换 %d。int abc=999; printf("The value of abc is %d !", abc);会在屏幕上显示:
int a=100; int b=200; int c=300; printf("a=%d, b=%d, c=%d", a, b, c);会在屏幕上显示:
%d
称为格式控制符,它指明了以何种形式输出数据。格式控制符均以%
开头,后跟其他字符。%d 表示以十进制形式输出一个整数。除了 %d,printf 支持更多的格式控制,例如:
#include <stdio.h> int main() { int n = 100; char c = '@'; //字符用单引号包围,字符串用双引号包围 float money = 93.96; printf("n=%d, c=%c, money=%f\n", n, c, money); return 0; }输出结果:
\n
是一个整体,组合在一起表示一个换行字符。换行符是 ASCII 编码中的一个控制字符,无法在键盘上直接输入,只能用这种特殊的方法表示,被称为转义字符,我们将在《C语言转义字符》一节中有具体讲解,请大家暂时先记住\n
的含义。
puts 输出完成后会自动换行,而 printf 不会,要自己添加换行符,这是 puts 和 printf 在输出字符串时的一个区别。//
后面的为注释。注释用来说明代码是什么意思,起到提示的作用,可以帮助我们理解代码。注释虽然也是代码的一部分,但是它并不会给程序带来任何影响,编译器在编译阶段会忽略注释的内容,或者说删除注释的内容。我们将在《C语言标识符、关键字和注释》一节中详细讲解。#include <stdio.h> int main() { float money = 93.96; printf("n=%d, c=%c, money=%f\n", 100, '@', money); return 0; }输出结果与上面相同。
#include <stdio.h> int main() { int a=1234; printf("a=%ds\n", a); return 0; }运行结果:
%d
被替换成了变量 a 的值,而s
没有变,原样输出了。这是因为, %d
才是格式控制符,%ds
在一起没有意义,s
仅仅是跟在%d
后面的一个普通字符,所以会原样输出。C语言中文网,一个学习C语言和C++的网站,他们坚持用工匠的精神来打磨每一套教程。坚持做好一件事情,做到极致,让自己感动,让用户心动,这就是足以传世的作品!C语言中文网的网址是:http://task.lmcjl.com
如果将这段文本放在一个字符串中,会显得比较臃肿,格式也不好看,就像下面这样:
超出编辑窗口宽度的文本换行
超出编辑窗口宽度的文本隐藏
#include <stdio.h> int main() { puts( "C语言中文网,一个学习C语言和C++的网站,他们坚持用工匠的精神来打磨每一套教程。" "坚持做好一件事情,做到极致,让自己感动,让用户心动,这就是足以传世的作品!" "C语言中文网的网址是:http://task.lmcjl.com" ); return 0; }在 puts 函数中,可以将一个较长的字符串分割成几个较短的字符串,这样会使得长文本的格式更加整齐。
#include <stdio.h> int main() { puts("C语言中文网!" "C语言和C++!" "http://task.lmcjl.com"); return 0; }本节讲到的 puts、printf,以及后面要讲到的 fprintf、fputs 等与字符串输出有关的函数,都支持这种写法。
本文链接:http://task.lmcjl.com/news/7980.html