我的第一个程序

动画效果探索—以hello Word 为例

相信很多人入门C语言的第一个程序都是输出Hello Word !吧,今天,我想把这个简单的输出来玩出点花样来。
话不多说,先看效果:
效果示意图
可以直接看到,在运行后,是逐个输出Hello Word! 的每个字母的,在输出完成之后,又可以逐个字母的消失,如果再加上一些自己的创意,可以实现很不错的效果。
话不多述,下面描述一下实现过程。

首先:要实现字母每间隔一段时间出现,这里可以直接使用库函数 Sleep(),要注意的是,我使用的是VS2015是需要首字母是大写的,但是在有些编译器中是不需要大写的,具体自己试验一下,并且需要头文件 windows.h,这个函数的作用:使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。当函数设定的计时器到期,或者接收到信号、程序发生中断都会导致程序继续执行。
这样,就可以实现间隔一段时间的效果了,并且这里要补充的一点是,Sleep()函数括号里面的数字值,在Windows平台下是以毫秒为单位的,在Linux平台下是以秒为单位的,下面是实现代码

printf("\tH");
	Sleep(500);
	printf("e");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf(" ");
	Sleep(500);

	printf("W");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf("r");
	Sleep(500);
	printf("d");
	Sleep(500);

	printf("!");
	Sleep(500);

这样就可以实现字母逐个间隔时间出现了,然后我们要实现字母再逐个消失,在C语言基础中,我们知道一些转义字符,其中“\b”表示退格键,就是将输出位置向左移动一位,如果在“\b”后面有其他字符,那么逐个字符就会在左移后的位置上输出,并且会覆盖掉左移后右边的字符,就比如在上面代码后面加上一句

printf("\b ");

实现的效果就是,光标在之前输出的“Hello Word!”的右边,现在光标左移一位,移动到“!”的左边了,然后输出“\b”后面的一个空格,将“!”覆盖了,就实现了删除一个字符的效果,那我们现在光标就在“Hello Word ”后面的一个空格的后面,我们下面就需要将光标向左移动两个位置,然后输出一个空格,来覆盖掉字符“d”,下面就同理了,最后,我们仍然要实现间隔一段时间,逐个删除,再继续使用Sleep()函数就可以了,下面是实现代码:

Sleep(500);
	printf("\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	//Sleep(500);
	//printf("\b\b "); //去除上面的制表符

在这里总共有11个字符(包括空格),所以就需要十一个这样的语句,当然也可以使用循环来实现,这样就可以实现更多更炫酷的效果了。
下面是程序实现的完整代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <windows.h>

void main()
{
	printf("\tH");
	Sleep(500);
	printf("e");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf(" ");
	Sleep(500);

	printf("W");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf("r");
	Sleep(500);
	printf("d");
	Sleep(500);

	printf("!");
	Sleep(500);
	

	Sleep(500);
	printf("\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	Sleep(500);
	printf("\b\b ");
	//Sleep(500);
	//printf("\b\b "); //去除上面的制表符



	printf("\n");
	Sleep(500);

	
}

感谢观赏,一起提高,慢慢变强。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值