程序员大神教你学C语言/C加加编程零基础新手入门

第一章:编译器和程序

很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门纠结,如果你还在苦恼怎么入门!,最下面+新手入门资料,可以说从零到项目实战,都是可以免费获取的,还有程序员大牛为各位免费解答问题,热心肠的小伙伴也是蛮多的。不失为是一个交流的的好地方,小编在这里邀请大家加入我的大家庭。欢迎你的到来。一起交流学习!共同进步!小编等你!

在学编程之前,我要提到两个问题,我们都说计算机很强大,它究竟强大到什么地步了,比如说飞天遁地它会吗?你见过遥控飞机吗,有人说那是小玩意,那无人驾驶飞机呢?再比如说它能造原子弹吗?仿真实验室知道不,1996年9月10日的联合国大会,以158票赞成、3票反对通过了《全面禁止核试验条约》,该条约的通过只能说明核竞赛在实爆方面的结束,计算机模拟仿真却是一种有效的核试验方式。第一个我要问大家的问题是,计算机不能做什么?这个问题需要大家以后去发现;第二个问题是为什么学计算机要学编程?首先问问自己为什么要学计算机,想开发软件,想当黑客,或做一个游戏,或做一个网站,哪样是不需要编程的,这是永远都不能回避的一个问题,编程才是计算机的精髓。

我们说语言是表达自己思想的工具,但是语言又分好多种,有汉语、英语、西班牙语、缅甸语...如果一个只懂英语和只懂缅甸语的两个人碰头了,那他们改怎么交流呢,这时候就需要翻译了,计算机底层只能识别0和1组成的代码,对于计算机来讲它的语言就是0、1代码(又叫机器语言),假设我们学的是C语言,那要想让我们的C语言能够让计算机理解,这时候我们也需要一个翻译,这个翻译就是C编译器,当然还有其他很多语言的编译器(比如C++编译器、Delphi编译器),这里涉及到3个问题我要讲清楚,

1是我们能够把计算机识别的0、1代码转换成其他语言吗(比如C语言)?可以,但是这个难度比较大,需要通过大量的学习,不适合初学者学习,通常我们把这个过程叫做逆向。

2是我们的编译器都是把计算机语言翻译成机器语言吗?不是,有些会翻译成一些中间语言,比如java的编译器会把java代码翻译成Java虚拟机能够识别的代码,然后由Java虚拟机去把这个代码转换成机器语言来执行,所以如果不管中间过程,最终所有的代码都会被翻译成计算机能够识别的机器语言。

3是我们为什么不使用能够把我们的汉语转换成机器语言的编译器?因为汉语和其他我们人类使用的语言一样,它们是有歧义的,同样的一句话可能有两种或多种意思,计算机不能识别歧义,所以必须约定一套计算机能够完全识别的语言,所以就算计算机是美国人发明的,它们也并没有发明出能够直接使用英语来编写程序的编译器(需要说明的是易语言这样的并不属于真正的汉语编程语言)。

所以从开始学习C语言时,我们需要的仅仅是一个翻译,我在下面会给出三个编译器链接:

C-Free、Dev-C++、VC6.0,当然我电脑上还有VS2013和VS2015和VS2017。

尽管很不情愿,但为了防止部分同学不会安装软件,我还是演示下怎么安装编译器(以C-Free为例),我是在虚拟机里面演示的,虽然是虚拟机,但其实是在自己电脑上虚拟出来的一台电脑,和真机没有任何区别。下载编译器完成后,右键此文件,选择解压到CFree5pro文件夹

打开CFree5pro文件夹会发现这样两个文件,c-free5_0_pro这个是安装程序,注册码是待会注册要用的

点击c-free5_0_pro出现安装界面后,直接点下一步

选择“我同意此协议”,继续点下一步

接下来出现程序安装目录,这个我一般是选择D:Program Files,但是这里为了方便就不更改了,继续点下一步

然后再点击几次下一步,来到安装的最后界面,这里点安装就开始安装编译器了。

等安装的绿条走完后,来到了是否运行C-Free编译器,直接点完成编译器就跑起来了。

先把这个新建工程的对话框点关闭了,因为C-Free不是免费软件,所以这时候我们用的还只是试用版的,这时候我们选择编译器上面一排的“帮助”,在弹出的下拉列表中选择“注册”。

把我们之前的那个注册码文件打开,把这里面的三项用户名、邮箱和注册码分别拷贝到C-Free的三个输入框里面去,点击确定就可以了,这时候它会要求你重启编译器,点击之后再重新点击桌面的C-free编译器就ok了。

然后接下来开始我们的第一个程序,选择C-Free上面的工程->新建,windows下的编译器都差不多,反正一般都是在文件或者工程里面选择新建一个工程

在弹出框中要说明三项,一个是要新建的工程类型,我们这里选择“控制台程序”就好(这种程序就是黑框框界面的那种,后面还有窗口程序、链接库,我发现C-Free后面的GUI toolkits里面还有QT项目)。工程名称是你的程序的名称,我这里写的是HelloWorld1,第三项就是保持位置,我这里是默认保存在桌面,我就不管了,这三项弄好后就直接点确定了

然后接下来会选择控制台程序的类型,我们选第三个“Hello,World程序”(因为这样编译器会自动帮我们生成HelloWorld的代码,因为我们还没有讲语法,就先让编译器自己帮我们生成一个好了),点下一步

然后会弹出语言选择,我们是默认的C语言就行了,点下一步

然后会弹出一个构建配置,这个意思就是C-Free默认内嵌的编译器(MinGW),所以不要认为写出C-Free这样的编译器就一定有多厉害了,其实只是内嵌了一个MinGW编译器啦,以后如果大家想学的话,我会教大家怎么从零开始写编译器,不需要依靠别人内嵌编译器。这里直接点完成就行了。

接下来请看编译器的右边会出现一个文件列表,这里面有三个文件夹Source Files、Header Files、Other Files以及一个main.c文件,这就是编译器自动为我们生成的文件,如果我们之前在48那个图里面选择空的程序就不会有一个文件了。点击main.c文件打开看看

我们在这里就可以看到main.c里面写的C源代码了。

接下来点击构建->运行,这里直接点运行其实编译器是执行了三步操作,第一步是编译,就是把main.c这个文件转换成main.o文件,第二步是链接,C-Free编译器这里叫构建,就是把main.o文件可一些库文件链接成HelloWorld1.exe文件,第三步才是运行,效果就相当于我们点击了HelloWorld1.exe这个文件一样,我们有时候可能并不需要直接点构建->运行把这三步全做完了,比如我们写一个病毒的时候,我们只需要执行到第二步就可以了,因为第三步再执行的话我们自己的电脑就要中招了。这里直接点运行就是为了方便啦

点击运行之后就是我们程序运行的结果了

我们可以进入我们在47楼填写的保持位置,我填的是桌面,我在桌面就能找到文件名为HelloWorld1的文件夹,mingW5文件夹里面有两个文件main.o和HelloWorld1.exe,这两个文件就是编译器编译文件的第一步和第二步分别生成的文件,点击这里的HelloWorld1.exe也会出来同样的效果

Dev-C++版本:

其实它们新建项目都是类似的过程,具体步骤我就不写了,我就贴几张图出来了

这里需要新建一个文件夹,不如C-Free那么方便,我新建的文件夹就叫HelloWorld2了

然后点进去HelloWorld2再点保存,dev-C++就会把HelloWorld2.dev这个文件放到HelloWorld2文件夹里面去

这里同样可以看到main.c源代码和左边的文件列表(c-free是在右边),不过我们点击运行->运行后出来的黑框里面并没有"Hello"相关的信息,因为编译器并没有帮我们生成。

这里我们就需要在main.c文件里添加printf("hello,world!");这一行,它的意思就是打印出hello,world!

添加这行代码后再点击运行->编译运行就能出来结果了。

VC6.0的我就先不讲了,其他都差不多,我的建议是如果你电脑上能装VC6.0的话就尽量装它,毕竟它是有工业强度的编译器,而且网上许多源码都是在VC编译器的平台上开发的(当然如果你能安装更高版本的VC编译器当然更高,我电脑上就有vs2013和vs2015和vs2017),如果你VC6.0装不上那就装c-free吧,也比较方便,dev-C++不算很方便。

今天就讲到这里,欲知后事如何且听下回分解(手动滑稽)~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容