慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

在 EasyX 中使用外部字体文件设置字体样式 铜牌收录

在 EasyX 输出字体的时候,要求字体在当前环境中可用,否则就无法看到字体的效果。使用系统中默认存在的字体比较简单,可以直接使用。但是如果字体是自己精心挑选的,系统中不存在,将程序发给别人以后,要求别人安装字体才能启动程序看到效果,就不太合适了。本文详细讲述在不安装字体的前提下如何通过字体文件设置字体样式。

万能的排查错误方法:代码删减法

对于一个成熟的程序员来说,不管任何代码错误,没有找不到的错误,只是时间问题罢了。

一些初学者在面对代码错误的时候,全凭肉眼看。尤其是代码比较长的时候,更是对 bug 无从下手。这里推荐初学者一个排查错误的方法:删减法。

所谓删减法,就是逐步删除项目里的无关代码,确保每一步删减之后,故障都存在。删到最后无法再删的时候,通常你就能发现问题在哪了。

下面举个例子,有个同学在写一个画图板项目,执行后画圆时有错误,会产生这样的效果(画的圆有明显的残影):

完整的有 Bug 的源码如下(代码不太成熟,请忽略):

#include <graphics.h>
#include <conio.h>
#include <math.h>


void InitGUI(int color[])
{
	setbkcolor(WHITE);
	cleardevice();
	rectangle(140, 410, 500, 470
...

解决编译错误:C4996:'GetMouseMsg': This function is deprecated. 铜牌收录

问题概述

EasyX 提供了两个头文件:

  • graphics.h
  • easyx.h

easyx.h 包含最新的函数,并且删掉了旧函数。graphics.h 引用了 easyx.h,同时提供了对旧函数的支持。使用 graphics.h 里面提供的旧函数时,会收到一个 Warning C4996,例如使用旧函数 GetMouseMsg,会收到编译提醒:

C4996:'GetMouseMsg': This function is deprecated. Instead, use this new function: getmessage. See https://docs.easyx.cn/getmessage for details.

在过去,Visual C++ 默认会将 C4996 归类为 Wa

...

C 语言天罡三十六题 - 封神九题(2021-5-29) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

C 语言天罡三十六题 - 精英九题(2021-5-29) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

C 语言天罡三十六题 - 进阶九题(2021-5-27) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

C 语言天罡三十六题 - 基础九题(2021-4-10) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

正确的提问方式 铜牌收录

网络是一个很好的交流学习平台,但是有些同学比较郁闷:为什么自己在网上发的问题没人帮自己呢?这多半原因是因为这些同学“不会提问”。本文就简单说一下,应该如何提问。

C/C++ 内功心法(入门篇)- 第一章 绪论(5,6) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

5. 寓教于乐

初学编程,更多的是锻炼逻辑思考能力。这里列出几个锻炼逻辑思维的小游戏,空闲的时候可以试试:

  1. 扫雷(推荐 Win10 商店里的版本)
  2. 人力资源机器(PC 版本或安卓版本都可以)

这里就不提供下载了,自己想办法吧,这是学编程之前的基本能力。

6. 学习环境的配置

为了跟随本书学习编程,请按照以下要求配置学习环境:

  1. 使用 Win10 系统,并设置为英文。如果计算机配置不高,可以考虑使用 Win7 或 WinXP 系统。
  2. 设置 Win10 系统显示文件的扩展名。
  3. 安装英文版的 Visual C++ 2010 学习版(英文版名称为 Visual C++ 2010 Express)。
    下载地址:https://pan.baidu.com/s/1kFb9X-1HV8HRyE
...

C/C++ 内功心法(入门篇)- 第一章 绪论(4) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

4. 解惑

编程的前景及就业情况如何?

以计算机程序控制机器替代人力劳动,是大势所趋。

20 年前,学了驾照就可以弄辆出租车养家糊口。现在,手机约车逐步在取代传统的出租车,甚至共享汽车在很多地方都开始普及。再过几年,自动驾驶会取代出租车司机、公交车司机……

计算机种植,精确控制植物所需环境及养分。

计算机诊断病情,甚至实施精确手术。

计算机清洁,自动定期清扫城市街道、住宅小区等。

计算机实现自动实时翻译。

计算机实现自动配药。

计算机实现自动采摘……

这就是趋势,没什么需要担心的。

学编程是否需要天赋?

一句话解释:以大多数人的努力程度之低,根本轮不到拼天赋。

举个例子,一个女生每天出门需要化妆 5 分钟(够神速了吧)。

别人的学习时间是每天 500 分钟(8 小

...

C/C++ 内功心法(入门篇)- 第一章 绪论(3) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

3. 学习编程的预备知识

编程是一项有一定门槛的知识,在对计算机的软硬件不够了解的前提下学习编程,会事倍功半。因此,在开始正式讲编程知识之前,本节课先提一些基础要求。

上网

基于网络的 QQ 聊天、淘宝购物、支付宝付款等等,不再多说。着重说这几点:

  1. 百度搜索。常规内容的搜索都离不开百度。但是,要学会鉴别搜索结果中的广告与垃圾。

  2. 必应搜索。在全球范围内检索资料的不二选择,尤其是在英文网站检索编程相关问题,更是离不开必应搜索。

  3. 学会搜索“官方网站”。网上各种资料有真有假有新有旧,最靠谱的,是官方网站的资讯。比如要下载 EasyX ,比较推荐的做法是搜索“EasyX 官网”,然后在官网里面找到所需的下载。

  4. 学会鉴别“官方网站”。并不是所有搜到的“官网”都是官方网站。网络中有各种钓鱼网站,做的很

...

C/C++ 内功心法(入门篇)- 第一章 绪论(1,2) 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

1. C/C++ 的历史及特点

有关计算机的历史、C 语言的历史、C++ 的历史,以及各自有什么特点,甚至哪年谁谁谁发明了什么等等,请自行网上搜索。

2. 编程思维

乔布斯说过:“每个人都应该学习编程,因为它会教给你如何思考。”

从厨神的故事开始

我相信每个人对“编程”这个词都有自己的认识。我从一个小故事说起吧。

有个厨神,开了一下小饭店,人们非常喜欢吃他做的菜。

但是厨神也有累的时候,也有生病的时候,也有带着孩子出去玩的时候,这时候虽然有其他厨师烧菜,但顾客的满意度会下降。并且大厨也没有三头六臂,饭店的规模始终无法扩大。

所幸厨神的孩子是学编程的,给支了这么一招:让厨神将菜谱全部写出来,调料全部量化,炒菜过程标准化,整理出一份“超级菜谱”。这样,其他厨师按照这个“超级菜谱”烧的菜,能达到厨神的九成水准,这已经能满足绝大多数顾客的口味了。

然后饭店继续招聘厨师,以这个“超级菜谱”培训新

...

C/C++ 内功心法(入门篇)- 目录 铜牌收录

返回:C/C++ 内功心法(入门篇)- 目录

C/C++内功心法(入门篇)- 目录

前言

这是一本学习编程的书。

注意,本书学习的是编程,不是 C/C++ 语法,不是 Linux 使用,不是怎样配置编译器,不是学习 C/C++ 标准。我们学习的,只是编程。之所以先强调这点,是因为目前许多同学学习编程的时候,方向都偏了。如果你学习编程学了很久都不得门而入,不妨看看本书。

本书会根据读者的反馈一直在线更新。所以,谢绝转载,没有意义,反倒会给网络留下许多内容陈旧的垃圾。

如果你有更好的建议,欢迎分享给我 yw80@qq.com。

如果你觉得写的还不错,可以通过捐助鼓励下我们:https://go.easyx.cn/donate。

目录

第一章 绪论

1. C/C++ 的历史及特点

2. 编程思维

3. 学习编程的预备知识

4. 解惑

...