强大的语言——C入门
C 语言是美国的Dennis Ritchie在1972年设计发明的。它由早期的编程语言BCPL( Basic Combined Programming Language) 发展演变而来。C 语言之所以发展迅速,成为最受欢迎的语言之一,主要因为它具有强大的功能。归纳起来,C 语言具有下列特点:
#1 1.C语言是“中级语言”
它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
#1 2.C语言是结构式语言
所谓结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
#1 3.C语言功能齐全
C 语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C 语言也具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。
#1 4.C语言适用范围广
C 语言还有一个突出的优点就是适合多种操作系统,如DOS、Windows、UNIX,也适用于多种机型。
#1 二、C语言基础介绍
随着微型计算机的日益普及,出现了许多C 语言版本。由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准,成为现行的C语言标准。而在这里我们将主要以美国Borland 公司的产品Turbo C2.0作为介绍对象,简要介绍一下C语言的基本知识。
#1 1.数据类型
在C语言中,每个变量在使用之前必须定义其数据类型。Turbo C有以下几种类型:整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型(void)以及结构(struct)和联合(union)。其中前五种是C语言的基本数据类型、后两种数据类型(结构和联合)则是C语言的扩展数据类型。
#1 2.关键字和标识符、运算符
所谓关键字就是已被C语言本身使用、不能作其它用途的字。例如关键字else,就再不能用作变量名、函数名等。所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。C标识符的定义十分灵活。
C的运算符非常丰富,主要分为三大类:算术运算符、关系与逻辑运算符、按位运算符。
#1 3.变量
C规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成,例如“int x”。变量可以在程序中三个地方说明:函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同,变量可分为局部变量、形式参数和全程变量。C像其它高级语言一样也使用数组变量。所谓数组就是指具有相同数据类型的变量集,并拥有共同的名字。数组中的每个特定元素都使用下标来访问。
#1 4.控制流程语句
C提供了丰富、灵活的控制流程语句,主要有:条件语句、循环语句和开关语句。条件语句的一般形式为if-else。C提供三种基本的循环语句:for语句、while语句和do-while语句。而在编写程序时,经常会碰到按不同情况分转的多路问题,这时可用嵌套if-else-if语句来实现,但if-else-if语句使用不方便,并且容易出错。对这种情况,C提供了一个switch开关语句。
#1 5.指针(point)
学习C语言,指针是较难理解的一个概念。我们知道变量在计算机内占有一块存贮区域(也就是有一个“地址”),变量的值就存放在这块区域之中,在计算机内部,通过访问或修改这块区域的内容来访问或修改相应的变量。C语言中,对于变量的访问形式之一,就是先求出变量的地址,然后再通过地址对它进行访问,这就是指针及指针变量。指针变量的一般定义为“类型标识符 *标识符”,其中标识符是指针变量的名字,标识符前加了“*”号,表示该变量是指针变量,而最前面的“类型标识符”表示该指针变量所指向的变量的类型。一个指针变量只能指向同一种类型的变量,也就是说,我们不能定义一个指针变量,既能指向一整型变量又能指向双精度变量。
#1 三、C程序设计初步
C语言是一种中级语言,用户用C语言编写的程序称为源程序,源程序文件的后缀一般必须为“.c”。计算机硬件不能直接执行源程序,必须将源程序翻译成二进制目标程序。翻译工作是由编译程序完成的,翻译的过程称为编译,编译的结果称为目标程序,目标程序文件后缀一般为“.OBJ”。程序翻译成目标程序后,便可进行连接。“连接”的目的是使程序变成在计算机上可以执行的最终形式。在这一阶段,系统程序库中的程序要与目标程序连接,连接的结果称为执行程序,执行程序文件名字一般以“.EXE”结尾。
正如所有利用计算机语言所编写的的第一个程序一样,下面,我们也试着建立一个名为“HELLO.C”的源程序,这个程序将在屏幕上面打印出“你好,《电脑报》软件世界!”这个短语。
通过键盘输入程序:
include <stdio.h>
main()
{
printf(″你好,《电脑报》软件世界!\n″);
}
这个最简单的程序,也包括了C语言的一些基本的内容,它有一个主函数main(),使用到了标准的输出函数printf(),同时为了能够让程序运行时包含这个标准函数,我们首先要在程序的最开始写上include <stdio.h>,“stdio.h”是C语言提供的标准输入输出函数库头文件,我们可以直接引用里面的一些函数,来完成我们所要实现的功能。
现在,让我们来编译、连接并运行一下这个最简单的程序,我们将看到,在屏幕上打印出了“你好,《电脑报》软件世界!”
#1 四、参考资料
首先是一些C语言相关的书籍:
《C语言》谭浩强,《C语言编程宝典》王大刚,《数据结构与算法——面向对象的C++设计模式》Bruno R. Preiss,《C/C++语言与研究开发实践》伍晓宇、辛勇,《Borland C++ Builder 3.0/4.0类参考详解》张济、袁野、王秀娟,《Borland C++Builder 3.0/4.0高级类参考详解》王秀娟、孙悦、黎华,《C++语言命令详解(第二版)》Brian Overland,《C++程序设计实验指导》钱能。
C语言相关的网站:
经典C语言宝殿(http://tcstudy.126.com/)
C语言社区(http://truec.yeah.net/)收集了大量精彩文章,是C语言的站点。
代码世界(http://go.163.com/~ultracraft) 程序源代码,程序设计教程、方法、技巧,尤其是C语言。
探索者C编程天地(http://explorer.myrice.com/) C语言游戏等源程序。
远智竞天(http://jling.126.com/) 实用的C语言绘图、C高级图形、动画实例等资源。