- 最近有刚开始学习编程的同学问我:“C语言是什么?C语言是怎么来的?C语言用来干什么?”。对,在学习C语言之前,首先了解C语言的发展例程,这应该是每一个刚刚开始学习C语言的人应该了解的,并且还要了解为什么要选择C语言,以及C语言都有那些特性。了解了这些知识后才会更好的学习C语言。随着计算机科学的不断发展,学习C语言的环境也在不断变化。针对前面提出的几个问题,从多方整理,下面我们从以下几点介绍C语言。
1. C语言的发展史
程序语言发展史
程序语言发展大致经历三个阶段:
1.机器语言
机器语言是低级语言,称为二进制代码语言。计算机使用的是由0和1组成的二进制数,组成的一串指令来表达计算机的语言。机器语言的特点是计算机可以直接识别,不需要任何翻译。
2.汇编语言
汇编语言是面向机器的程序设计语言。用英文字母或者符号串来代替机器语言的二进制代码,把不易理解的机器语言编程汇编语言。使用汇编语言比机器语言容易理解程序,并且更容易阅读。
3.高级语言
由于汇编语言依赖于硬件体系,并且汇编语言中的助记符号比较多。为了使程序语言更贴近人类的自然语言,同时又不依赖于计算机硬件,于是,高级语言应运而生。这种语言的语法形式类似于英文,并且因为远离对硬件的直接操作,使人们更易理解和操作。
C语言的发展史
-
以前的操作系统等系统软件主要是用汇编语言编写的,由于汇编语言依赖于硬件,程序的可读性和可以执行都不是很好,为了提高程序的可读性和可移植性,人们期待另一种语言,这种语言具有高级语言的特性,又不失低级语言的特性,于是就产生了C语言。
-
C语言是由UNIX的开发者丹尼斯里奇(Dennis Ritchie)和肯汤普逊(Ken Thompson)于1970年在开发出的BCPL(B语言)语言的基础上发展和完善起来的。19世纪70年代初期,第一次把B语言改为C语言。
-
C语言最初运行在多用户、多任务的UNIX操作系统上。后来,Ritchie用C语言改写了UNIX C的编译程序,UNIX操作系统的开发者Ken Thompson有用C语言成功的改写了UNIX,从此开创了编程史上的新篇章。UNIX成为第一个不使用汇编语言编写的主流操作系统。
-
1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言草案(83 ANSI C),后来于1987年又颁布了另一个C标准草案(87 ANSI C),最新的C语言标准C99在1999年颁布,并在2000年3月被ANSI采用。但是由于未得到主流编译器厂家的支持,C99也未得到广泛应用。
-
C语言发展于大型商业机构和学术界的研究实验室,当开发者们为第一台个人计算机提供C编译系统之后,C语言就得到了广泛传播,为大多数程序员所接受。对MS-DOS操作系统来说,系统软件和实用程序都是用C语言来编写的。Windows操作系统大部分也是用C语言来编写的。
-
C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点,它可以广泛用于不同的操作系统,如UNIX、MS-DOS、Windows、Linux等。
2. C语言的特点
C语言是一种通用的程序设计语言,主要用来进行系统程序设计,具有如下特点。
-
高效性
从C语言的发展史可以看出,它继承了低级语言的有点,产生了高效的代码,并且具有良好的可读性和可编写性。 -
灵活性
C语言中的语法不拘一格,在原有语言的基础上进行创造、复合,给程序员更多的想象和发挥空间。 -
功能丰富
除了C语言多具有的类型外,还可以使用丰富的运算符和自定义的结构类型,来表达任何复杂的数据类型,友好的完成所需要的功能。 -
表达力强
C语言的语法形式与人们所使用的语言形式相似,书写形式自由、结构规范,并且其中的简单控制语句可以轻松的控制程序流程,完成复杂繁琐的程序要求。 -
可移植性好
C语言具有良好的可移植性,这使得C程序在不同的操作系统下,只需简单的修改或者不用修改就可以进行跨平台的程序程序开发操作。
3.编写一个简单的C程序
在学习C语言的时候,首先不要对C语言产生恐惧,C语言是人类共有的财富。只要通过努力的学习就可以掌握。
- 一个简单的C程序
#include <stdio.h>
int main()
{
printf("hello world c!\n"); // 输出显示
return 0; // 返回
}
运行程序,显示如下:
-
#include <stdio.h>
这句话的功能是进行有关的预处理操作,include称为文件包含命令,尖括号里是内容,称为头文件。有关预处理的内容,在后续会讲解。 -
空行
C语言是一个比较灵活的语言,格式不是固定不变的,为了代码的整洁美观,阅读起来方便,我们可以输入任意的空格、空行,并不会影响程序的执行。 -
int main()
main函数为一个返回整型的函数,其中int叫做关键字,这个关键字代表的类型为整型。关于关键字后续会讲解。main函数是程序的入口函数,每一个程序都会有一个main函数,也就是说每一个程序都是从main函数开始执行的。上面代码就是进入到main函数,先执行printf,再执行return语句。
4. C语言程序的格式
- 通过上面的简单C程序可以看书,C语言编写有一定的格式
-
主函数main
C语言是从main函数开始执行,main函数可以放在文件的任意位置 -
程序的主体是由函数构成的
程序中main就是主函数,当然可以定义自己的函数,在函数中进行特定的操作,完成特定的功能。 -
函数体的内容在{}内
每个函数的函数体都要用{}括起来,函数可以有返回值return 0,也可以没有返回值。 -
每条语句以;结束
如果一条语句写完后要以;结尾。
至此,通过上面的介绍,相比对C语言有了一个基本的认是,那么在后续的学习中有一定的帮助。当然,对于初学者来说有些属于还不是很理解,这都没有关系。在下面的教程中我们将逐步深入到C语言,学习C语言的基本语法和知识。
添加公重号:Linux兵工厂
,获取海量Linux硬核资料。