慢羊羊的空间

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

正确的提问方式

网络是一个很好的交流学习平台,但是有些同学比较郁闷:为什么自己在网上发的问题没人帮自己呢?这多半原因是因为这些同学“不会提问”。网上关于“学习怎样提问”的文章很多,这里以 C 语言编程的问题为例,简明扼要的说一下重点:

1. 别人对你的环境一无所知。

不要想当然的认为别人应该知道什么。比如,你的 C 语言开发环境是什么?操作系统是什么?这是书上的例题还是你自己写的代码还是你从网上随便找来的代码?环境不同,细节不同,或许对你的问题多少有点影响。

2. 别人不知道你的题目是什么

有些同学上来就发一堆代码,然后问“为什么错了”。这种问题通常都没人理。不要觉得别人看了你的代码就知道你的题目是什么,很多时候,不知道题目是什么就看不懂代码。所以如果你的问题是某个题目相关的,请简明的描述一下。编译如果有错误,请贴出来编译的错误信息;执行如果有错,请描述怎样操作执行以及会产生怎样的错误。

3.&n

...

彻底卸载 Visual Studio、SQL Server 等微软开发平台的官方工具

众所周知,像 Microsoft Visual Studio(Visual C++)、SQL Server 等微软系的开发平台,不仅仅要安装开发环境,还要安装许多相关组件,涉及到的安装位置除了软件的安装文件夹之外,还有好些组件在系统盘以及系统文件夹内,如果不小心改动了某些组件或者删除了某个文件夹,经常会造成无法彻底卸载的问题。除了卸载,有些安装文件夹只有第一次安装的时候才能选择路径,如果不彻底卸载,再次安装的时候就无法重新选择安装路径。

所以这时候,我们需要一个安全的、官方的、有效的、简单的卸载工具。

这个工具微软已经帮我们准备好了,【点这里】查看微软对该工具的介绍,里面有微软的官方下载地址。

不想看那么多的,可以直接

...

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)。
    下载地址:
...

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

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

4. 解惑

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

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

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

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

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

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

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

计算机实现自动配药。

计算机实现自动采摘……

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

学编程是否需要天赋?

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

举个例子,一个女生每天出门需要化妆 5 分钟(

...

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

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

3. 学习编程的预备知识

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

上网

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

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

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

3. 学会搜索“官方网站”。网上各种资料有真有假有新有旧,最靠谱的,是官方网站的资讯。比如要下载 EasyX ,比

...

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

如果你觉得写的还不错,可以通过捐助鼓励下我们:

...

详解透明贴图和三元光栅操作

透明贴图,是指贴图时某些部分是完全透明的或半透明的。

本文介绍多种透明贴图的方案,包括:

  1. 指定透明色贴图(基于 Windows API 函数 TransparentBlt)
  2. 指定透明色贴图(基于直接操作显示缓冲区)
  3. 使用三元光栅操作实现透明贴图
  4. 根据 png 的 alpha 信息实现半透明贴图(基于 Windows API 函数 AlphaBlend)
  5. 根据 png 的 alpha 信息实现半透明贴图(基于直接操作显示缓冲区)

各种方法各有利弊,大家可以根据自己的需求选择。

1. 指定透明色贴图(基于 Windows API 函数 TransparentBlt)

这是最简单的透明贴图方法。

该方法要求图片素材的透明部分为纯色,因此建议使用 gif 或 png 格式的图片素材。如果使用 jpg 格式的图片素材,那么由于 jpg 的有损压缩,会造成边缘颜色有

...

制作图片素材的必备知识

平时常用的图片格式有 bmp、jpg(jpeg)、gif、png 等。其中,bmp 是无损压缩,文件体积比较大,通常都会用其他格式来代替 bmp。所以本文着重讲 jpg、gif、png 三种格式。

首先必须要提到的是:修改图片扩展名并不会修改图片格式。图片格式,是图片各像素点的组织方式,不同的格式有不同的文件头和压缩算法等。而扩展名,仅仅是一个格式的标识,方便人们辨识格式。只修改扩展名,会造成图片文件的标识与内容不符,影响图片加载。因此,必须通过绘图软件将图片保存为相应格式。

图片格式的区别

jpg 适合保存照片这类颜色丰富、图案复杂的图像,使用有损压缩。尤其在保存简单颜色的图像时,有损压缩会使颜色边缘出现“不干净”的问题。

gif 适合保存颜色简单、内容简单的图像,使用无损

...

正确实现“按任意键继续”功能

在大家写程序的时候,经常会遇到“按任意键继续”这样的功能。网上能找到的方法主要有两种:
1. 使用 _getch() 语句
2. 使用 system("pause") 语句

现在挨个说说。

_getch()

_getch() 功能是从控制台输入一个字符(控制台不显示该输入),是 conio.h 里面声明的一个函数。
所以 _getch() 很好的实现了“按任意键继续”的功能。

system("pause")

system 的功能是通过控制台执行一个命令,是 stdlib.h 里面声明的一个函数。
该函数需要一个字符串指针参数表示命令。这里,"pause" 就是 system 函数将要执行的命令。

pause 命令的功能,可以在控制台 cmd.exe 下输入 pause /? 查看,可以看到,pause 的功能是:暂停并显示信息“Press any key to continue

...