粉丝27获赞634
c 语言来实现爱心代码,刚入行的同学一定要收藏好每年的开学都会火一次的爱心代码,这个爱心你肯定见过了,你知道是怎么实现的吗?下面就来解析一下爱心代码。这是一个爱心函数, 满足条件的进行绘制就行了。第一行第二行分别导入了我们下面会用到的函数调用库。第三行是必不可少的主函数, 你理解为一个程序的入口。第四行的花括号对应第十九行,我们接下来代码都在花括号里。 第五行是设置显示出来的窗口的背景色和字体颜色的,想替换颜色的来看一下这个解释,我刚刚的 color 后面是写零 c, 也就是背景色为黑色,文字颜色是 淡红色。第六行是定义浮点形变量词,语言的变量需要定义才可以使用。第七行外的值你可以理解为竖轴的外轴从一点五,然后到负一,每次减零点一的距离,也就是我们要输出多少行。 第八行和第十五行的花括号是属于第七行 fo 循环的循环体。第九行的 fo 循环你可以理解为竖轴的 x 轴从 x 等于负一点五到 x 等于一点五,乘外轴对称的距离。我替换了一下写法, 我把第十行和第十一行换成了任何情况下都输出,我们就得到了右侧的这个矩阵,接下来只需要在矩阵中每个点满足爱心函数的输出星号就行了。所以第十一行偷取是用来在控制 纸台输出字符的扑圈里面是三元表达式,如果问号前面的条件满足,那么这个表达式的值就会是后面冒号的,左侧不成立就是冒号,右侧 条件成立输出星号不成立就是空格。第十三行理解为每一行输出完成之后停留十五毫秒,有一种延迟加载的效果。十四行是一行输出结束之后进行换行, 反斜杠按就是表示换一行。第十六行就是简单的输出语句,有两个反斜杠按和三个反斜杠替, 分别表示换两行和三次键盘上 tab 键的空距离。最后十八行是函数返回值,呼应第三行的整形返回值,所以返回零。最后来编译运行 看一下效果吧, 大家每次都看控制台,印度视觉疲劳了,那看一下前端纯代码实现的吧,这个在我主页群文件里需要,可以自行下载,希望能提起你对编程的兴趣,别忘记点个关注。
哈喽,欢迎来到素颜一分钟小课堂。那最近呢,有很多同学啊,拿这一段网红的程序来问老师,这段程序呢,就是在屏幕上打印出一个心形,这样的效果呈现出来的效果呢,很漂亮,所以同学们都比较感兴趣。但是很多同学呢,是从网上 抄下来的这个代码,不是很理解这个代码的含义,所以本期呢给大家详细的讲解一下这段网红的程序,让同学们呢能够知其所以然。网上有很多这样的原代码, 那我们来解释一下哈。首先在新语言的基本框架结构上,他点入了一个 windows 的文件,这是因为下面又用到了一个系统的指令,那这个系统指令主要是干嘛呢? system 双引号 color 啊,能够猜到他是要给下面的图形涂个颜色, 那这个每个颜色呢,对应有一个编码,是这里头呢,这个零 c 呢,就是我们看到的那那个粉红色的那个效果,这里头呢,这个画法呢,也是用双层循环去控制行和列,但是他把这个坐标呢是按坐标轴的形式去处理的, 那它相当于把我们运行的窗口啊,建立了一个 x y 这个直角坐标系,那这个坐标系当中呢, y 开始是从一点五一直划到了负一,所以再碰一点五 到负半轴这负一的这个中间段,然后 y 呢,是每次递减零点一,每次递减零点一,去找每一个像素的点,然后 x 呢?横轴呢,它是从负一点五画到一点五,因为心形正好是 是以外轴对称,所以他是负一点五这个位置,画到正一点五这个位置, y 轴就相当于我们找的那个行 x 轴呢的点呢,就相当于我们找的那个列,当 y 等于一点五的时候,进这个循环里, x 呢,是从负一点五这个位置开始, 所以说对一开始要找的定位呢,是从这一个像素点,然后呢 x 是向右不断的增加零点零五, y 呢是向下化不断的减零点一, 然后这样子的过程呢,去找到每一个点的位置,那每一个点的位置去便利的时候什么时候画呢?只有这两行去控制的,那哪一点需要画上这个心形的这个像素差,哪一点需要涂空呢?他是数学 函数关系,去找出了这个新型 x 和 y 的关系,那这个呢,我们不做数学的推导啊,没有什么意义在编程当中,所以呢,他就相当于数学当中先去算一下 s 方加 y 方减一的这个值,拿着这个 a 的值去比较, 什么时候 pro 差呢? pro 差是我们要放一个字符,这个字符呢是要么是画成叉,要不是画成空, 这里头呢有一个三目运算符,是我们前几集讲过的由问号和冒号实现的条件运算符, 解读是什么?先读一下问号前面的表达式,如果是真,则执行冒号前面第一个表达式,如果是假呢,则执行冒号后面的这个表达式。所以这个里头的 意思就是他来判断一下我算出的这个 a, a 的立方减去 x 方乘 y 的立方,他是否小于零和他小于零,那这个位置呢?我们就要是心形的位置画叉,否则的话呢,就不画就画成窟啊。 对于这个条件上符合,其实我们也可以用 if 来表示,如果他努力,那就那叉 x x 的时候呢,就铺的叉为空格啊,这个呢其实是效果是一样的,如果你不好理解的话,你可以看这样的代码, 那下面这个 sleep 是什么意思啊? sleep 就是每进里头画一行的时候,他都等待一百五十毫秒,所以你看到效果是第一行画完了,然后再画的第二行,他不是直接出来了一个心,然后 换行去画下一行,那我们运行一下,看一下这个效果啊,他是一行一行画,这样的话你应该就彻底的搞清楚了新型画法的每一行的语句。
大家好,咱们这节视频呢,给大家介绍一下我们这个动态的爱心啊,那首先呢给大家展示一下我们这个动态爱心的一个简单效果啊。 好啊,这个效果呢,我实现的就是这样的一个从无到有的这样的一个动态的显示出来,然后呢再在这里边加上的这么一个符号的变化,星号呢,变成了加号啊,有这么一点交叉的这么一个效果哈,那么这个 看起来呢挺简单的,对吧?实际呢也很简单这么样的一个效果哈,那么虽然说效果简单,但是它包含了我们这块呃,控制台上写这个动态图案的一个所有的一句基本原理呢都包含了,如果你看起来简单的把这个原理学会了之后呢,大家就可以任意的去实现各种各样的一个 动态的效果了,这么一个简单的动画啊,也是看起来非常的高级的这么一个玩意啊,实际呢并不是这么高级。好,那么要实现这样 一个呃功能啊,那我们要知道一个常识,那就是我们控制台上呢输出字符的位置是由谁决定的?是由光标决定的。那首先什么是光标呢?那么我们新建一个工程,把这个光标给大家展现出来哈,因为大家呢很多时候都不会注重这些细节。 好,那比如说我们直接在这加上一个该的叉啊,该的叉的目的呢,就是让我这个程序在这卡一下,我们看一下这 光标是什么样的啊?好,这光标出现了,这光标在哪呢?哎,就是这个闪烁的白色下划线,他就是光标。哎,这光标呢,默认的情况下,就在前,就,就在开头这来,对吧?在这开头这,那么我们去普润的 f 啊,哈喽啊,好,那么我们看这个,呃,普通的 f 从这开始,这个这个内容从这开始输出的,哎,他是从头开始输出的,对吧?为什么?因为我这光标呢,出水就在这, 那么输出 h 的时候放在光标的位置,然后光标向后移,然后输出 esaooo, 然后的话呢,这个三输出完了之后呢,这光标呢,就在这个三后面了,对吧?假如说我下面再有一个普通的 f 呢,那么他的这个,呃,比如说这再有一个普通的 f 啊, 那比如说在这加上一个断点,咱们这块呢,得,得到这个第八个模式啊, 切换一下怎么办?真是讨厌的。好,我们看下这个效果啊,那,呃,我输出了第一个海漏,对吧?第一个海漏,那光标呢?在这个三后面呢,是不是啊?在三后面,我这个箭头卡的这个 pro nf 这一行呢,就是没执行的,那好,我点击一个 f 十, 那么我这个第二个 hello 思想从哪开始输出啊?那么他的输出位置呢?就在我们这个三后面了,为什么呢?因为我这个 hello 的这个这这个 prone 的光标呢,就是在刚才这个三后面,你看呢,输出完了之后呢,光标又跑到这了, 对吧?啊,所以呢,说明呢,就是我们这个控制台上的一个字符,它的输出位置呢,是由这个光标决定的。这个光标假设在这,那么我去 f 的时候呢,这个内容呢,就从这块开始输出,我这光标在这,那么这个输出的内容呢,就从这开始输出 来吧。哎,这就是光标,所以说既然说光标呢有这样的一个作用,那么我们这个控制台呢, windows 也给我们提供了,我们可以去指定这个光标在任意的位置,这个光标默认的情况下呢,是从头开始,从左到右的,从上向下的,对吧?这这是正常的这样的一个逻辑顺序, 那么我们呢也可以随意的去指定他的位置啊,指定的这个位置,这个函数呢就叫做,什么叫做啊?叫做指定位置函数啊, 他是这么长的,这个叫做赛的康 socc 破贼神设置控制台光标位置,哎,这样的一个函数对吧?啊,也是很简单啊,那咱这块呢就写一下啊,这个函数呢,他是温三二函数啊,所以我们要用到的同用电池温度四点一摄 啊,你看这就是额外的知识了吗?好,这个函数的,呃,名字呢叫做赛他 console cosplay 自己审在这呢哈,下边有补全的功能,我们一双进了就上来了哈,如果你这个补这个补全的话呢,你这没出来,没出来的话你就手打呗,这么几个字母摁上就行了哈, 没有什么,这都是固定的写法啊,这个是没有任何的这个技巧可言哈。然后紧接着这个函数的话呢,有两个参数,第一个参数呢,就是我们当前这个空手台的这样的一个是 这叫,这叫锯柄,对吧?空来锯柄哈,这个锯柄的话呢,可以简单理解为 id 啊,什么叫做 id 呢?就是你像我们有这样的一个窗口是不是?那么这个电脑上呢,你可以运行着很多的窗口,对吧?那操作系统如何去管理这些窗口呢? 就是给这个窗口呢命名一个 id, 对吧?比如这个窗口呢,他先出来的叫一号窗口,给他一个 id 呢叫做一,然后后面呢又出来运行其他的软件,又出来一个窗口,那么他叫二,那又出来一个窗口,运行三 叫叫做三哈,那就是运行一百个窗口,那这个窗口呢?一次每个窗口都有一个 id, 这个 id 呢,可以理解,可以就叫做我们这个。呃,窗口的这个聚柄啊,他是用来管理的哈,那么咱这块也是同理哈,那你这个设置光标对吧?那你设置谁的光标啊? 是不是你设置哪个窗口的呀?我们温度是这么多窗口,你设置哪个窗口的呢?哎,那么也要指定的就是当前的窗口,对吧?当前的这个窗口,那当前窗口怎么去?呃,这个这个指指定呢?哎,通过这样的一个函数叫做 gatstd 憨斗啊, 盖的 std 憨豆,什么意思啊?就是获取标准 std 憨豆叫做获取标准的聚饼啊,这个标准聚饼的参数添什么呢?哎,就添 这个叫做 stdl 的 pot 憨豆啊,什么意思啊?叫做标准 std out outfoot outfoot, 哎,标准输出句柄, 对吧?哎,当前的窗口的具柄,当前哪个窗口的是这个标准输出窗口的?就是我们这空来窗口啊,这块的写法都是固定的啊,大家呢,记住就可以了。紧接着第二个参数填什么呢?就是填我们这个窗口的坐标了,他这个坐标呢,显用的是一个结构体,叫做 coord 啊,这样的 一个两个 o 啊,多了 o, c, o, r, d 这样的一个结构体哈,那么这个结构体它是一个什么样的定义呢?咱们看一下,直接转到定义呢,这里面发现呢,就是一个横动坐标,对吧?哨子类型的横动坐标啊,所以呢,这样的一个结构体呢,也是非常的简单,就没有什么可说的了。那咱们呢,给大家呃,定义这样的一个结构体, 然后对这个结构体呢进行处置化哈,那么要注意呢,呃,他这个里边的是 x 和 y, 他是第一个成员,这是第二个成员,对吧?哎,那么这个 x 是纵坐标,对吧? x 是纵坐标,是列列坐标啊,然后的话,这个 y 呢是行坐标 啊, y 是行作标啊,一定要注意这个事啊啊,因为大家呢,一般来说 xy 呢,呃,一般我们都是行行列吗?哎,那 sv 他就把这个顺序默认的给他对应上了,就认为 x 行 yy 是列不对的,对吧?你看这个平面直角坐标系,这边是 x, 这边是歪,对吧?你看这个 x, 这个,这个,这个,这不是第一列,第二列,第三列,第四列吗?对吧?那这个歪的话呢,是表示的是行,对吧?所以呢,我们传统观念上行列, 对吧?行列的这样的一个口头顺序,那 x y 呢?哎,就是这样的一个 x, y 的顺序,那么大家就会把这个 x 和这个行对应上来,这是不对的啊,应该是,呃, y 是我们的这个行啊, 所以我们这块写假设写个四啊,然后呢写个五,那么这个四呢是什么?哎,是这个下标为四的这列,然后呢,这是五列,是不是啊?好,那么这个参数添什么呢?就添上这个 cd 啊,那么我们呢,此时呢,就是把这个光标呢设置在哪了?设置在这个坐标之 下,对吧?然后呢去输出嗨露,那咱们看一下这个效果, 哎,我们发现这嗨露在哪输出了,对吧?在这就输出了,为什么他把这个光标的位置呢?设置在这了, 对吧?然后接下来就说一下我们这两个东西他表示的是什么哈?他呢?就是我们,呃控制台上他的这个位置坐标啊,位置坐标。那么前面这个呢,表示的是列,这个五呢,表示的是行 好,但是他呢是五的话呢,表示的是第六行,他跟数组的下标是一样的,都是从零开始的。我控制台上的这个坐标呢,也是从零开始的,哎,所以第一个位置他是零零,明白吧?第零行,第零列,那么我们写的这个四五的话呢,就是第五 五列,第六行,来吧,第五列,第六行,那么如果想要是比如说我们要在第五列,第十,第十五行,第十五,对不对?在第五行第十五,这叫第六行,第十五列啊,这个 他从零开始的啊,一定要注意这个数就可以了,别的倒是没什么啊,从零开始算啊,那写五的话呢,实际是六啊,然后的话十四的话呢?因为从零吧,那不是他就是十五,你看这有什么?第。 呃,第六行,第十四列,对吧?十四列,这个是什么意思?就是,呃,这个前面这一块呢,可以输入 十四个啊,十四个那个那个字符的位置,对吧?一个字符位置,一个字符位置,大概是八个像素吧,宽度是八个像素,高度我都忘了, 反正大概是那么一堆像素啊,像素呢?就是我们你看到这个屏幕上仔细盯着瞅呢,有很多小点,对吧?那小点呢?就是像素啊,一个像素壳子的啊。好,所以说呢,我们这个横动坐标呢就知道了啊,要设置这个光标呢就有了。
新建一个文本文道, 粘贴刚刚的代码,然后保存,再退出去 一系列操作完之后,返回桌面后缀改成 html 就行了。