写这系列文章的原因是大一没学好C语言。
大一那时看完C语言简介就很喜欢这个语言,很geek。极致,简约。
可惜当时迷恋玩弄数码产品。没学好,最近想好好学完C语言。
现在拾起来学。便学边写。
参考书本《C语言程序设计》谭浩强版及一些资料。
环境VC++ win7 x64
简介
C语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C 语言,后来由美国国家标准协会(American NationalStandards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。
C语言的历史
C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。由于其高效和可移植性,适应于不同硬件和软件平台,深受开发员的青睐。
C语言早期发展
1969 - 1973年在 AT&T 贝尔实验室开始了 C语言的最初研发。根据 C语言的发明者丹尼斯.里奇 (Dennis Ritchie) 说,C 语言最重要的研发时期是在 1972 年。
C语言之所以命名为C,是因为 C语言源自 Ken Thompson 发明的 B语言,而 B语言则源自 BCPL语言。
C语言的诞生是和UNIX操作系统的开发密不可分的,原先的 UNIX操作系统都是用汇编语言写的,1973年 UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。
K&R C
1978年, Brian Kernighan 和 Dennis Ritchie 出版了一本书,名叫《The C Programming Language》(中文译名为《C程序设计语言》)。这本书被 C语言开发者们称为"K&R",很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为"K&R C"。
1988年 BrianKernighan 和 DennisRitchie 修改此书,出版了《The CProgramming Language》第二版,第二版涵盖了ANSI C语言标准。第二版从此成为大学计算机教育有关C语言的经典教材,多年后也没再出现过更好的版本。
ANSI C
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
为统一C语言版本,1983年美国国家标准局 (American NationalStandards Institute,简称ANSI)成立了一个委员会,来制定 C语言标准。1989年 C语言标准被批准,被称为 ANSI X3.159-1989 "Programming Language C"。这个版本的C语言标准通常被称为ANSI C。
目前,几乎所有的开发工具都支持ANSI C标准。是C语言用得最广泛的一个标准版本。
C99
在ANSI C 标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年 WG14小组对 C语言进行了一些修改,成为后来的 1999年发布的 ISO/IEC9899:1999标准,通常被成为 C99。
但是各个公司对 C99的支持所表現出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的時候,微软和 Borland却似乎对此不感兴趣。
C 语言对其它语言的影响
很多编程语言都深受 C语言的影响,比如C++(原先是C语言的一个扩展),C#,Java,PHP, Javascript, Perl,LPC 和 UNIX 的C Shell。
也正因为 C语言的影响力,掌握 C语言的人,再学其它编程语言,大多能很快上手,触类旁通。接下来,我们开始具体讲解C语言。要学好一门编程语言,一定要边学边练,你要有一个 C语言的开发工具,在此教程中,我们使用微软的Visual Studio 开发C语言程序。
C语言的优点
1. 语言简洁,使用方便灵活
ANSI C一共有32个关键字:
9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。
Turbo C扩充了11个关键字:asm _cs _ds _es _ss cdecl far huge interrupt near pascal
注意:在C语言中,关键字都是小写的。
2. 表达方式灵活
共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
3. 可移植性好
4. 表达能力强
5. 可进行结构化程序设计
6. 可以直接操作计算机硬件
7.生成的目标代码质量高
C语言缺点
1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。
C语言的版本
目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
面向对象的
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本是Borland C++, Symantec C++和Microsoft VisualC++。
面向对象的程序设计
C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
C和C++
但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
HelloWorld



#include<stdio.h>
main()
{
printf("HelloWorld:\n");
}
