海龟绘图两小时上手C语言 - 2 绘制正方形

整个教程的介绍和目录在这里:

童晶:海龟绘图两小时上手C语言 - 0 引言

2.1 向右旋转

除了让小海龟前进外,也可以让它旋转。输入并运行以下代码:

#include <turtle.h>int main()
{initWorld(800,600);rightTurn(90);pause();return 0;
} 

rightTurn表示向右旋转,rightTurn (90)表示向右旋转90度。海龟开始头朝向屏幕上方,原地向右旋转90度后,最终头朝向屏幕右方:

先将海龟右转90度,再forward前进,即可以绘制出一条向右的线段:

#include <turtle.h>int main()
{initWorld(800,600);rightTurn(90);forward(100);pause();return 0;
} 

利用forward()和rightTurn()语句,可以绘制出下图所示的折线:

#include <turtle.h>int main()
{initWorld(800,600);forward(100);rightTurn(90);forward(100);rightTurn(90);pause();return 0;
} 

2.2 绘制正方形

进一步,添加两组forward()和rightTurn()语句,即可以绘制出一个正方形:

#include <turtle.h>int main()
{initWorld(800,600);forward(100);rightTurn(90);forward(100);rightTurn(90);forward(100);rightTurn(90);forward(100);rightTurn(90);pause();return 0;
} 

小海龟前进100、右转90度四次后,正好回到了起始点,绘制出了一个边长为100的正方形。

修改以上代码,可以绘制一个边长为200的正方形:

#include <turtle.h>int main()
{initWorld(800,600);forward(200);rightTurn(90);forward(200);rightTurn(90);forward(200);rightTurn(90);forward(200);rightTurn(90);pause();return 0;
}

以上代码中修改正方形的边长,要修改四个数字,能否有更简单的方法?下面我们学习变量的概念,利用变量来存储、修改正方形的边长。

2.3 应用变量设定正方形的边长

在C语言中,变量可以理解为一个保存数据的盒子。应用变量length记录正方形的边长,修改如下。

#include <turtle.h>int main()
{int length;length = 100;initWorld(800,600);forward(length);rightTurn(90);forward(length);rightTurn(90);forward(length);rightTurn(90);forward(length);rightTurn(90);pause();return 0;
}

第5行代码中int为C语言的关键词,int length;定义了整型变量length,即length可以存储整数。

定义变量后,可以利用赋值语句对变量进行赋值,如length = 100;语句将length的值设为100。运行四次forward(length),即绘制了正方形的四条边。

只需将第6行代码修改为:length = 200,即可同时修改正方形的四条边长。

2.4 利用for循环语句绘制正方形

分析上一节绘制正方形的代码,重复执行四次forward(100)和rightTurn (90),即可以绘制出一个正方形。利用for循环语句,修改代码如下:

#include <turtle.h>int main()
{int i;initWorld(800,600);for (i=1;i<=4;i=i+1){forward(100);rightTurn(90);   }pause();return 0;
} 

绘制效果一致,而且代码更加的简洁。

for语句中,首先执行i=1。

然后判断i<=4是否满足,此时1<=4正确,执行内部的绘制语句,画了正方形的第一条边,运行i=i+1,此时i=2。

继续判断i<=4是否满足,此时2<=4正确,执行内部的绘制语句,画了正方形的第二条边,运行i=i+1,此时i=3。

继续判断i<=4是否满足,此时3<=4正确,执行内部的绘制语句,画了正方形的第三条边,运行i=i+1,此时i=4。

继续判断i<=4是否满足,此时4<=4正确,执行内部的绘制语句,画了正方形的最后一条边,运行i=i+1,此时i=5。

继续判断i<=4是否满足,此时5<=4不正确,for循环结束。

for()语句中,一般第一项设定循环起始条件,比如对循环变量赋初值;第二项为循环结束条件,当条件不满足时循环结束;第三项对循环变量进行改变。

2.5 小结

这一章学习了变量的概念,应用变量可以很方便的保存、修改相应的数据。学习了for循环语句的用法,有了循环语句,计算机就可以轻松处理需要大量重复的事务,减轻了人们的工作量。

这个系列教程可以直接转载,但希望能标明作者和出处。如果对趣味学编程感兴趣的读者,也可以关注我在知乎上的教程,或者参考我写的几本图书:

海龟绘图两小时上手C语言 - 2 绘制正方形相关推荐

  1. 海龟绘图两小时上手C语言 - 1 绘制直线

    海龟绘图两小时上手C语言 - 1 绘制直线 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 1.1 什么是C语言? 如今,我们的生活已经离不开程序.比如用计算机写文章.做P ...

  2. 海龟绘图两小时上手C语言 - 5 彩色螺旋线

    海龟绘图两小时上手C语言 - 5 彩色螺旋线 整个教程的目录: 童晶:海龟绘图两小时上手C语言 - 0 引言 童晶:海龟绘图两小时上手C语言 - 1 绘制直线 童晶:海龟绘图两小时上手C语言 - 2 ...

  3. 海龟绘图两小时上手C语言 - 4 任意螺旋线

    海龟绘图两小时上手C语言 - 4 任意螺旋线 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 4.1 计算正多边形的角度 数值之间也可以进行加.减.乘.除.取余运算,在代码 ...

  4. 海龟绘图两小时上手C语言 - 3 正方形螺旋线

    海龟绘图两小时上手C语言 - 3 正方形螺旋线 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 3.1 绘制正方形螺旋线 输入并运行以下代码,在窗口中绘制了正方形螺旋线: ...

  5. 海龟绘图两小时上手C语言 - 0 引言

    海龟绘图两小时上手C语言 0 引言 作为一名教了十几年编程的大学老师,看过不少学生一开始学习C语言,就被其复杂的语法.枯燥的数学应用案例给吓住了. 在此提供一个很简单的教程,希望零基础的读者花上两个小 ...

  6. Python基础学习笔记——用海龟绘图实现两两相连

    学习目标: 使用海龟绘图.输入多个点,将这些点都两两相连. 代码: def connect_dot(*args):for i in range(len(args) - 1):for j in rang ...

  7. 每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列

    Turtle 海龟绘图系列 - Python 代码绘制航海王草帽路飞 第一章:程序运行 ① 效果展示 - 轮廓描绘 ② 效果展示 - 颜色填充 第二章:实现过程 ① 绘图数据下载 ② 海龟绘图配置项 ...

  8. Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列

    Turtle 海龟绘图系列 - Python 代码绘制航海王四皇大妈 BIG MOM 第一章:程序运行 ① 效果展示1 ② 效果展示2 第二章:实现过程 ① 绘图数据下载 ② 海龟绘图配置项 ③ 本地 ...

  9. 2021天梯赛L1-074 两小时学完C语言 题解

    L1-074 两小时学完C语言 (5 分) 题目: 知乎上有个宝宝问:"两个小时内如何学完 C 语言?"当然,问的是"学完"并不是"学会". ...

最新文章

  1. iOS中你可能没有完全弄清楚的(二)自己实现一个KVO源码及解析
  2. OJ题目-使用+-|等符号表示数字,进行运算【C语言】
  3. “反应快”的程序猿更优秀吗?
  4. LintCode刷题笔记-- BackpackIII
  5. Git常用的步骤和命令
  6. rk3399_android10编译说明
  7. VGG合成文字数据生成方法
  8. 已解决:不小心卸载pip后(重新安装pip的两种方式)
  9. Intel 80286微处理器功能结构
  10. 详解电脑机械硬盘装什么系统好
  11. 《word2vec Parameter Learning Explained》论文学习笔记
  12. SpringCloud-Alibaba之入门
  13. spark 3.1.x支持(兼容)hive 1.2.x以及hadoop cdh版本的尝试
  14. linux安装ftp服务并测试访问
  15. 试题 基础练习 数的读法
  16. springcloud集成sentinel 《微服务》
  17. codeforces 1364D Ehabs Last Corollary
  18. 《编译原理》-用例题理解-自底向上的语法分析,FIRSTVT,LASTVT集
  19. python下载所有股票日交易数据
  20. DOM基本操作(获取元素、节点的创建和添加、节点的替换和删除)

热门文章

  1. TensorFlow——如何查看当前版本TF编译使用的CUDA和cuDNN的编译版本
  2. 【已解决】罗技K380蓝牙键盘可以连接电脑,但无法输入怎么办?
  3. bat文件获取当前时间并格式化输出
  4. InteliJ Idea通过maven创建webapp
  5. 使用网络调试助手 MQTT接入阿里云物联网平台,逐字节讲解,适用单片机/ESP8266接入阿里云
  6. c/c++教程 - 1.4 数据类型 sizeof
  7. arm-none-linux-gnueabi交叉工具链 no such file or directory
  8. 深度学习之Image captioning的评分指标篇(BLEU、CIDEr)
  9. 881.BoatstoSavePeople
  10. 基于ELK和Python搭建简单的监控告警系统