1、预备知识

1.1 相关头文件

“#include”是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名。#include ''和#include <>存在区别,#include '' 当要调用某个函数时先在用户自已编写的文件中查找,如果找不到再到库文件里去找。而#include <>  是直接到库文件里去找,所以如果是调用自己写的函数的话就用#include ''这种形式,而调用标准库函数的话就用#include <> 这种形式,可以提高速度。

1.1.1 stdio.h

这个标准库的头文件定义了用于输入输出的宏和函数。从键盘上读取数据,将输入写入命令行上时,需要包含这个头文件。

1.1.2 stdlib.h

定义了许多一般用途的函数和宏。它包含将字符串转化为数值的函数,生成伪随机数的rand()函数,给数据动态分配和释放内存的函数,搜索和排序例程,整数算数函数,以及转换多字节和宽字节串的函数。

1.1.3 windows.h

系统头文件。

1.2 相关函数与结构

1.2.1 printf

1.2.2 循环结构

c语言有3种用于实现循环结构的语句,分别是for、while(先判断,后循环)和do-while(先循环,后判断)。使用格式如下:

(1)for循环

for(表达式1;表达式2;表达式3)//表达式1为初值,表达式2为终止条件,表达式3为循环步长{//这里是循环体}

(2)while循环

while(表达式) //表达式即终止循环的条件{//这里是循环体}

(3)do-while循环

do{//这里是循环体}while(表达式)

1.2.3 system('cls')

这是VC环境下的清屏方法,隶属stdlib头文件库,属于调用格式为:

#include system('cls');

1.2.4 Sleep函数

功 能: 执行挂起一段时间

用 法: unsigned sleep(unsigned seconds);

注意:

在VC中使用带上头文件#include ,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同#include  ;

在VC中,Sleep中的第一个英文字符为大写的'S' ,在linux下不要大写,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep;

在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000); 在Linux下,sleep()里面的单位是秒,而不是毫秒。

2、程序构建

2.1 显示静止的小球

//在坐标(x,y)处输出一个小球#include

intmain(void){inti,j;int x = 5;int y = 10;//输出小球上面的空行 for(i=0;i

2.2 通过改变小球坐标的变量,让小球下落

#include #includeint main(void){inti,j;int x = 1;int y = 10;for (x=1;x<10;x++) { system('cls'); //清屏函数//输出小球上面的空行 for(i=0;i

这里利用了一个清屏函数system('cls');,只需要加上头文件#include 即可。

2.3 实现小球的上下弹跳

在上面一步代码的基础上,增加记录速度的变量,小球的新位置=旧位置+速度。判断小球到达上下边界时,速度改变方向,即改变正负号。

#include #includevoidmain(){inti,j;int x = 5;int y = 10;int hight = 20;int velocity = 1;while (1) { x=x+velocity; system('cls'); //清屏函数//输出小球前的空行 for(i=0;i

2.4 实现小球斜跳

主要思路是增加x,y两个方向的速度控制变量,一个碰到上下边界后改变正负号,一个碰到左右边界后改变正负号。

#include#includevoidmain(){inti,j;int x = 0;int y = 5;int velocity_x = 1;int velocity_y = 1;int left = 0;int right = 20;int top = 0;int bottom = 10;while (1) { x= x+velocity_x; y= y+velocity_y; system('cls'); //清屏函数//输出小球前的空行 for(i=0;i

大家尽量养成良好的编码习惯,上面的边界坐标尽量不要在程序中写数字,可以用定义的变量或常量。这样程序可读性更好,后面也更容易调整。

2.5 控制小球弹跳速度

介绍一个Sleep函数,可以让游戏中间等待,从而可以控制小球弹跳的速度。使用这个函数,需要#include。

#include #include#include voidmain(){inti,j;int x = 0;int y = 5;int velocity_x = 1;int velocity_y = 1;int left = 0;int right = 20;int top = 0;int bottom = 10;while (1) { x= x +velocity_x; y= y +velocity_y; system('cls'); //清屏函数//输出小球前的空行 for(i=0;i

3 参考文献

[1]陈萌.C语言编程思维[M].北京:清华大学出版社,2014.

[2]Ivor Horton.C语言入门经典[M].第5版.北京:清华大学出版社,2013.

c语言立体爱心会跳动,c语言编程实例——小球跳动相关推荐

  1. mysql 小球_c语言编程实例——小球跳动

    1.预备知识 1.1 相关头文件 "#include"是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名.#include ""和#includ ...

  2. c语言vc6.0界面设计实例,vc6.0使用简介及C语言在6.0平台上的编程实例.ppt

    vc6.0使用简介及C语言在6.0平台上的编程实例 C++ 目录 第一章:Visual C++概述 第二章:C++语言基础 第三章:用MFC编写Windows程序 第四章:消息与输入 第五章:菜单.工 ...

  3. 用C语言制作爱心,如何用C语言画一个“心形”

    程序yuan眼中的浪漫如何用C语言画一个"心形"? 在你们的世界里,是不是觉得程序员一点浪漫都不懂?其实不是的,程序yuan的世界也是很浪漫滴. 看 这个图片是不是很浪漫,有木有很 ...

  4. 2020 5 20,100天纪念日,用C语言打印3D动态立体爱心!!!

    2020 5 20,100天纪念日,用C语言打印3D动态立体爱心!!! #include <stdio.h> #include <math.h> #include <wi ...

  5. 用c语言编写爱心的代码是什么

    用c语言编写爱心的代码: 输入完整代码如下: #include int main(void) { float a,x,y; for(y=1.5f; y>-1.5f; y-=0.1f) { for ...

  6. c语言画爱心教程(修改爱心颜色,修改打印爱心时间)

    主要有三个部分 1.代码及运行结果展示 2.如何修改背景颜色和爱心颜色 3. 如何修改打印速度 1.代码及运行结果展示 代码如下: #include"stdio.h" #inclu ...

  7. c语言算法集,【二级C语言】数据结构算法集---C  语言实现

    蜡烛马区新固动工八拐怪状小城,小城炮兵会晒茶麸领子.冒算心头画行启脾沙拉,壮志骗人淡漠流生宣布木锯南政新车?猛料妙绝长亭浓味寺塔马兜放领理光.普特民师初生情境民寿流传灭绝!勤恳心曲修整拭除转子苛评. ...

  8. 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...

    C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: :姓名 指导老师: C语言程序设计报告 一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的 ...

  9. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...

    [摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...

  10. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

最新文章

  1. 揭秘:1.2亿美元光刻机内部视频曝光,像科幻片一样震撼!
  2. petalinux2020.1 uboot 无法正常加载的问题
  3. J2SE核心开发实战(二)——字符串与包装类
  4. numpy.loadtxt()用法
  5. Codeforces Round #215 (Div. 2) D. Sereja ans Anagrams
  6. 1036 Boys vs Girls (25 分)_27行代码AC
  7. 60 Minutes专访李开复:泛人工智能可能永远实现不了
  8. 《UNIXLinux程序设计教程》一2.1 UNIX 输入输出基本概念
  9. python做var模型_【Python金融量化】VaR系列(五):Copula模型估计组合VaR-阿里云开发者社区...
  10. hdu 1002 A+B problem II
  11. QT.pro工程文件中判断宏定义是否存在
  12. Struts2 + Spring + Hibernate 通用 Service 和 DAO
  13. 使用SDE的一点体会
  14. 【复习】数学分析知识点梳理【思维导图】
  15. Pos应用与扫盲一路通
  16. java 堆栈内存例子,内存溢出OOM和堆栈溢出SOF的示例
  17. asp.net1050-消防车辆维修保养辅助系统#毕业设计
  18. 通过图片像素计算图片大小的方法
  19. 离散数学 传递闭包 Warshall算法
  20. template报下面的错误

热门文章

  1. 计算有向图的可达矩阵的算法及其MATLAB实现
  2. oracle10G/oracle11G连接oracle12c,ORA-28040的解决
  3. 【华为交换机】STP生成树协议端口选举详解
  4. Maven私服Nexus安装与使用,鸟哥的linux私房菜pdf百度云
  5. UOS 安装nvidia官方显卡驱动
  6. caxa线切割怎样画链轮_Autocad实战教程-线切割画链轮
  7. Excel,遗忘密码后如何撤销工作表保护密码
  8. 简单游荣登东南快报 热门话题引争议
  9. 百度开放平台中的万年历被提取出来了
  10. 搭建一个网站的价格以及步骤全面解读