**
从零开始学习c语言系列(一)——小白也能懂!
**
如今随着计算机的普及,越来越多人开始对编程感兴趣,我也不例外。但是学习从来不是一蹴而就的,学习一门编程语言更是如此,为了增加学习时的趣味性和主观能动性。所以我打算将个人学习过程中的粗浅见解写成一个系列一样的博客,如果其中有什么错误和疏漏,还望看客大佬们海涵,不吝赐教。
我打算学习的是c++语言这条方向,但是无论是c++还是java语言,它们都是面向对象的语言。为了学好它们,我们首先要做的都是掌握c语言,再不济也要对c语言有个系统的了解,这样在日后接触其他更加精简高级的语言时才会得心应手,如鱼得水。
在一开始,我们必须要了解的一个问题那就是:
什么是C语言?
只有先搞清楚这个问题的答案,我们才有继续往下学习的可能。
C语言,通俗的讲它就是一门计算机通用的编程语言,因为它的基础性,所以人们多用它来进行底层开发。在B语言的基础上,“C语言之父”Dennis MacAlistair Ritchie最初发明设计出它的目标就是能提供一种简单直接的方式进行编译,处理低级存储器,产生少量的机器码甚至是不需要任何支持环境就可以运行的计算机编程语言。而从结果上看,这位大佬所作出努力的成绩斐然。
C语言虽然是一门面向过程的语言,它提供的大多数是低级处理的功能,但无法否认时至今日它依然具备着优良的跨平台的特性,几行简单的C语言标准格式的代码便可以在多数平台上实现编译功能,甚至包含一些较为高大上(如嵌入式处理器(MCU),超级电脑等)的作业。
C既然作为一门语言,那不管它是给计算机还是人用的,就必须像其它语言一样有一套自己的语法。早在二十世纪八十年代,为了避免当时各厂商所使用的C语言标准差异混乱的局面,美国国家标准局于是出手为这门语言量身定制了一套完整的标准语法(当然是以美国的标准),人们将其简称为ANSI C,而这也就是C语言最初的标准由来。再后来每过一段时间,国际标准化组织等一些大佬们都会经过协商研究后发布新的官方标准,而目前最新的是在2011年12月8日,由ISO与IEC联合发布的C11标准,它也是C语言的第三套官方标准,在一定程度上实现了汉字编程,对我们中国的程序猿们更加友好。
好啦,既然我们大概讲完了C语言的“身世”,那接下来还是要进入到真正的学习中去,那就是:
写程序
要想写一个程序并不难,我们只需要有手就行。当然最好也要身边有台电脑,电脑不要多好,能写代码就行。哈哈,当然这只是一句玩笑话,该做的准备我们还是要做好,那么在写代码之前,我们到底需要做好哪些步骤呢?我将其一一列举出来
- 你自己
- 一台性能正常的电脑
- 一个能编译C语言的环境(这里我们可以直接使用搜索引擎搜索下选一个自己看的顺眼的应用开发工具下载下来使用就行,而笔者所用的是微软的VISUAL STUDIO2013,所以后面的代码都是基于vs2013的基础上实现的。)
好了,在做完以上的准备后,我们就可以开始写代码啦。
要说到编程语言最出名的那一行代码是什么,想必哪怕是对编程完全不感兴趣的路人十之八九都知道听到过,那就是
“Hello World”
而我们怎么写出这行代码并且让它成功在我们所使用的开发环境上跑起来呢,这便是我接下来想和各位探讨的问题。
要想写一个代码,说复杂也复杂,说简单也简单,为什么这样说呢,因为如今我们不像那些前辈一样事必躬亲,什么小细节都需要自己写。如今的我们拥有一个过去大佬们已经写好的代码库,里面包含的功能主要有对全局变量的重用,防止定义的冲突,对各个需要调用函数的描述,以及一些基础逻辑的实现功能。我们写代码时更多的时候只需要写在定义文件里然后在开头引用自己所需要的库就行了,那么一个新的疑问也在心里产生,我们该怎么使用这个宝藏呢?
其实很简单,我们只需要在自己写的代码前加上这么一行代码,如:
#include<stdio.h>
就算大功告成啦。而在做完这一步之后我们才需要开始真正写自己的代码了。
首先我们要清楚的一件事就是要让我们写的代码跑起来,它本质其实就是操作系统调用函数,做完所有初始化工作后,生成的应用程序被调用进入点函数(也就是所谓的主函数),然后当主函数返回时,再调用exit函数这一整个过程。而正因为如此我们就需要自己创建函数,其中主函数,也就是main函数是必不可少的了。所以我们一开始便要如此写
int main(){
return 0;
}
//int是整型的意思,所以我写的这个主函数在程序运行结束后会需要return 0给操作系统或者说是启动程序。当然这个return 0可加可不加,因为一般编译器最后会自动帮你给加上
如此一来,我们接下来要做的工作就是往大括号里添加东西使之完整了。
int main(){
printf("Hello World\n");
return 0;
}
以上,由我们自己亲手写的第一个程序便如此这般写好了。在写完这些之后,我们需要将其保存一下,然后启动调试编译,便可以看到最后结果了
怎么样?是不是有一种成就感油然而生呢?后面我会随着学习的深入慢慢的给大家带来更多内容。