「恭喜你,现在已经成功的进入了程序世界的大门了。有道是师傅领进门,修行在个人,之后能走到哪一步就看你自己了。」
老爹一副神秘莫测的模样,就差下巴的长胡须了。
「纳尼?这,这就算进门了?抄一段代码就行了?老爹,你这不是坑闺女么?」
「诶~,闺女,万事开头难,既然老爹已经帮你开了个头,接下来当然靠你自己啦。」
老爹一副道貌凛然的样子,看上去就像是一个神棍。
「可是中间也难,结尾更难啊!老爹,不带你这么坑人的!」
我很是不满道。
「哈哈,好吧,那老爹我要认真咯。」
「……」
「刚刚让你写这段代码还真不是老爹胡诌的,这算是咱们程序员的一个传统了吧。
一般来说,萌级小菜鸟程序员接触的第一个程序往往都是这个例程。这也意味着萌级小菜鸟正式踏上了程序员这条漫漫长路。」
「原来是这样呀!」
「好了,现在老爹就这个程序给你讲解一下C语言的基本结构。
#include是一个预编译命令,它作用来导入发明C语言的大神们给我们提供的一些功能。」
「预……编译……是什么意思啊?」
「预,就是先的意思。至于编译嘛,之前老爹不是跟你说过么?计算机最终能直接识别的是机器语言,编译就是将汇编或者高级语言翻译成机器语言的过程。
所以预编译就是说最先被编译的意思。」
「那<stdio.h>是啥意思?」
「昨天和你解释过文字显示的过程,说来简单,但是实现起来还是很麻烦的。
可是基本上的程序都要显示信息、获取键盘输入,所以C语言的发明者就把这些功能实现了,并放在了stdio.h这个库中,提供给大家使用。
#idio.h>是导入库的规定格式,如果要使用数学相关的库,则导入#ih.h>。
而且我们还能写自己的库哦,这些等到以后再说。」
「哦哦,原来是这样。那老爹,今后我写程序的时候怎么知道自己需要导入哪些库呢?
万一有些功能我好不容易实现了,结果发现C语言的发明者居然已经提供了相关的库,那岂不是费力不讨好呀?」
我皱着眉头问道。
「这是个很好的问题,发明C语言的人显然也考虑到了这个问题,所以他们提供相关的说明哦,这些在网上很容易就找到了。
所以呀,对于我们程序员来说,在动手写代码之前要先分析,分析实现某个功能要用什么方式实现,涉及到哪些技术。
只有弄清楚了这些,写代码的时候才会思路清晰,事半功倍。而你担心的这个问题,在这个阶段也就迎刃而解了。
其实无论我们在做什么事情,都应该像编程这样,先考虑清楚做什么,怎么做。不然只会一头雾水,如同没头的苍蝇乱撞。」
老爹语重心长地说道。
「好的,我知道了。」
「哈哈,扯远了。接下来的代码是声明了一个名为main的函数,至于什么是函数,这个我们在后面再讲。
我现在要说的是,main函数是程序的入口地址,也就是说一个程序是从main函数开始执行的,我们写的功能也要在main函数中运行。
你看,我们在小黑屏里面打印hello word就是在main函数中运行的。而printf,就是C语言发明者给我们提供的向小黑屏输出信息的功能,它被放在stdio.h库中。」
「那老爹,我是不是可以把hello world改成我的名字啊?」
我突然灵机一动说道。
「那你试试呗!」
「修改……Ctrl+S保存……打开所在文件夹……Shift+鼠标右键……在此处打开命令窗口……gcc firstProj.c -o firstProj……
呀,没有报错,编译成功了!接下来就该执行firstProj啦……
咦,怎么出问题了?」