小白向:跨入C语言的门槛
小白向:跨入C语言的门槛
1 说在故事前面
2 编程的故事开始了
几个假设:
电脑的世界
哈萨克斯坦人和肥圈老师
类比电脑的世界
3 枯燥无味的代码开始了
IDE的选择
代码框架
1 说在故事前面
我一直认为IT的教程不应该是照着PPT读,但遗憾的是我见过的慕课老师很多都是一手PPT讲编程。为了让零基础的同学能够快速跨进这个领域,我就写下了这样一篇文章。鉴于本人知识水平有限 ,不可避免地会犯错,还望各位评论区指正。
2 编程的故事开始了
几个假设:
-
我们假定中国各个省份的方言不同 -
接着假定中国以外的国家都说英语 -
继续假定肥圈老师只听得懂文言文
电脑的世界
大家都知道电脑听不懂人类语言,铁皮机器只能看懂0和1组成的二进制代码。简单举个例子:
如果你想让电脑求1+1=?
那么你需要告诉它:0101110 1010 1011
在电脑的世界里只有0和1,就像肥圈老师只能听懂文言文一样。
哈萨克斯坦人和肥圈老师
简单想一下,如果哪一天你想把肥圈老师当成工具人为你计算矩阵的秩,你会怎么做?
很简单对不对:只要说文言文命令肥圈老师:来来来,给👴算一个矩阵的秩!
那问题来了!如果我的老大不是你们,是一个哈萨克斯坦人。这哥们也不会说文言文,让它学,也不是学不会,只是太难学了!这不是存心为难人嘛😀
那我们想想该怎么解决这个问题呢?
找翻译!!!!!
没错,咱们只需要找一个翻译就行了!🐂🍺
这个翻译其实也是挺不容易的:English——>大白话——>文言文
这难度其实是有点大的,很难找到这样的人才!
古人常说:
退一步海阔天空 —— 古人
从古人的话咱们勉强得到了一个观点:各退一步
现在的情况是三个人交互:哈萨克斯坦人、翻译、我
三个人里面,翻译工作太难了,所以需要我或者哈萨克斯坦人退一步,帮帮忙。但是作为工具人的我比较蠢,所以我是不可能帮上忙了。这样一来,分担工作的重任自然落到了哈萨克斯坦人的肩上。
好的我们想一想:从英语到文言文的难度很大,如果是从白话文到文言文自然就轻松很多了!
还记得我们的假设吗?每一个省份都有一个方言
这些方言学习成本相当,这样的话,我们可以让哈萨克斯坦人学习任意一种方言,不管他学的是东北话还是安徽话,反正这些方言都差不多,把方言翻译成文言文的难度相当。
哈萨克斯坦人只要学习任意一个中国省份的方言,翻译负责把方言转成文言文告诉肥圈老师。我不禁又要夸一夸自己🐂🍺
这样的话问题就完美解决,哈萨克斯坦人说东北话,东北大妹子就负责翻译东北话成文言文,我就负责听大妹子的文言文结果为老板工作。
我自认为这个解决问题的过程逻辑还是比较清晰的,如果还是没看明白!那我再给你画个图:
哈
:哈萨克斯坦人 圈
:我 两个小人
:两种翻译
-
最下面那条线,小人被 绿了,这说明他这类翻译超级难找,这条路行不通 -
中间那条线,直接就被叉叉了,哈萨克斯坦人对我说 hello
,我对他说所为何事
,这条路也行不通 -
再看最上面那条路,路被 绿了,这说明这条路 可行!
这个问题解决了,我们回到电脑的世界。
类比电脑的世界
回忆一下这两个点:
-
电脑只能听懂01组合 -
人学习01组合太他🐎难了
好了,如果你是跟着我的思路把哈萨克斯坦人的问题一步步思考解决了,那么接下来我要说的东西你一定很容易理解。
-
1、我们人类需要和电脑交流或者说:命令电脑为我们做事。这个过程就是哈萨克斯坦人命令我做事的过程。
-
2、我们说的自然语言电脑听不懂,需要用编程语言编写代码。这个过程就是哈萨克斯坦人学习方言的过程。
-
3、编写的代码需要编译成01组合给电脑。这个过程就是翻译把哈萨克斯坦人说的方言翻译成文言文说给我听的过程。
为了方面你理解,我做了个婊表:
自然 | 电脑 |
---|---|
哈萨克斯坦人 | 人类 |
英语 | 自然语言 |
各种方言 | 各种编程语言 |
翻译 | 编译器 |
文言文 | 01组合 |
肥圈老师 | 电脑 |
不知道你现在有没有理解C语言是个什么东西
我觉得如果好好看了我讲的例子并且跟我一起思考应该就能有那种突然通透的感觉了😀
3 枯燥无味的代码开始了
注:我假设你已经听懂了上面的内容
IDE的选择
我知道你听不懂啥是IDE,简单说一下,IDE就是翻译官的翻译工作室
不同的翻译工作室的服务不同,但是呢,重要的翻译官却都差不多
机智的你一定会选择一个服务好的工作室
一般情况下你的网课老师会叫你用VC++6.0
这玩意老掉牙了,就好比叫你今天用IE浏览器
相比之下,我建议各位初学者,第一次接触C语言的同学使用体验比VC++6.0好的Dev-C++
下载链接我就不放了,大家自己Google搜一下到官网下载就好了
比较好的是,这个软件还有中文版本,简直就是初学者的复印浮盈
福音有木有!
代码框架
假设你已经下载好了Dev-C++,那些下载VC的!我也拿你没办法 接下来你需要记住这样的一个代码框架
#include<stdio.h>
int main(void)
{
printf("Hello world!\n");
return 0;
}
除了那条printf("Hello world!\n");
其他的就是标准了
其他的所有形式请你不要用!
不要写void main()😡
不要写void main()😡
不要写void main()😡
编程中的缩进是为了表示代码块的从属关系,这里我要求你们
用tab缩进,不要用空格!
用tab缩进,不要用空格!
用tab缩进,不要用空格!
用tab缩进,不要用空格!
用tab缩进,不要用空格!
用tab缩进,不要用空格!
如果你坚持用四个空格代替tab,对不起我们不再是朋友!!!!
今天就先说到这里!我是肥圈老师!
时间:2020年2月25日