简单c语言有趣的编程代码 c语言满屏飘爱心代码

赏心悦目的C语言输出

简单c语言有趣的编程代码 c语言满屏飘爱心代码

文章插图
C语言的输出功能,超出你的想象,你能想到的,她基本也能做到 。
刚开始还只是照抄printf语句,老是出现下面的情况:
Hello World% $
后面才晓得 printf 函数是有特殊规定字符的,比如换行的 \\\\\\\\n,换页的 \\\\\\\\f,回车的 \\\\\\\\r,以及制表符 \\\\\\\\t 等 。
这次就说说是个什么意思以及如何使用 。
本节尽量只使用 printf 函数,除非 有必要,尽量简洁,然后举几个用的最广的例子 。
换行显示文本
printf要完成的功能就是显示文本,比如最简单的:
/*beginner/print/print1.c*/#include <stdio.h>int main(){printf(\\\\\\”Hello World\\\\\\\\n\\\\\\”);return 0;}
比如我们想打印一首诗,原文是
Hickory, dickory, dock,
The mouse ran up the clock.
The clock struck one,
The mouse ran down,
【简单c语言有趣的编程代码 c语言满屏飘爱心代码】Hickory, dickory, dock.
这个简单呀,直接输入下面的代码
/*beginner/print/print2.c*/#include <stdio.h>int main(){printf(\\\\\\”Hickory, dickory, dock,\\\\\\”);printf(\\\\\\”The mouse ran up the clock.\\\\\\”);printf(\\\\\\”The clock struck one,\\\\\\”);printf(\\\\\\”The mouse ran down,\\\\\\”);printf(\\\\\\”Hickory, dickory, dock.\\\\\\”);return 0;}
输出是什么的
Hickory, dickory, dock,The mouse ran up the clock.The clock struck one,The mouse ran down,Hickory, dickory, dock.%
这就是没有添加换行符的原因,加上以后如下所示:
/*beginner/print/print3.c*/#include <stdio.h>int main(){printf(\\\\\\”Hickory, dickory, dock,\\\\\\\\n\\\\\\”);printf(\\\\\\”The mouse ran up the clock.\\\\\\\\n\\\\\\”);printf(\\\\\\”The clock struck one,\\\\\\\\n\\\\\\”);printf(\\\\\\”The mouse ran down,\\\\\\\\n\\\\\\”);printf(\\\\\\”Hickory, dickory, dock.\\\\\\\\n\\\\\\”);return 0;}
优雅的输出如下所示:
Hickory, dickory, dock,
The mouse ran up the clock.
The clock struck one,
The mouse ran down,
Hickory, dickory, dock.
回车显示进度条效果
其实回车的意思并不是通俗意义上的回车,你敲下键盘,叫做Enter,是另外一种回车 。
这里的回车是不换行从头开始的意思,是ASCII码为13的特殊字符,换行是ASCII码为10的特殊字符 。
这个示例只能通过自己编译来使用了,代码简单,如下,就能看到进度条的效果了
/*beginner/print/print4.c*/#include <stdio.h>#include <unistd.h>int main(){printf(\\\\\\”*\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*****\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*******\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*********\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*************\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*****************\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”*********************\\\\\\\\r\\\\\\”);fflush(stdout);sleep(1);printf(\\\\\\”\\\\\\\\n\\\\\\\\n\\\\\\”);return 0;}
运行的时候,可以看到光标在移动,这个用法我是学了2个多月才知道,悲哉!
说明:fflush是用来强行刷新的,因为如果不刷新,有的时候无法显示,另外sleep是为了演示移动效果,不然毫秒级显示完成,就看不到效果了 。
优雅的对齐特性
其实想对齐,是比较简单的一件事情,直接空格多敲一些就行了,如下所示:
/*beginner/print/print5.c*/#include <stdio.h>#include <unistd.h>int main(){printf(\\\\\\”NameAge ID\\\\\\\\n\\\\\\”);printf(\\\\\\”Zhang San 161\\\\\\\\n\\\\\\”);printf(\\\\\\”Li Si172\\\\\\\\n\\\\\\”);printf(\\\\\\”Wang Wu183\\\\\\\\n\\\\\\”);return 0;}