1 C语言的基本知识

C语言的发展过程

       C语言是在70年代初问世的。一九七八年有美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Rithchit合著了著名的"THE C PROGRAMMING LANGUAGE”一书。通常简称为<<K&R>>,也有人称之为<<K&R>>标准。但是,在<<K&R>>中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSI C。

当代最优秀的程序设计语言

       早期的C语言是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。

C语言的特点

       C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言高级语言和低级语言的功能于一体。既可以用于系统软件的开发,也适合应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

C语言的版本

      目前最流行的C语言有以下几种:

1、Microsoft C 或称 MS C

2、Borland Turbo 或称 Turbo C 

3、AT&T C   

这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自做了一些补充,使之更加方便、完美。

面向对象的程序设计语言

       在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。C++进一步和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

C 和 C++

       但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。

C源程序的结构特点

       为了说明C语言源程序结构的特点,先看以下几个程序。这几个程序由简单到难,表现了C语言源程序在组成结构的特点。虽然有关内容还未介绍,但可以从这些例子中了解到组成一个C源程序的基本部分和书写格式。

#include "stdio.h"
#include "math.h"
int main()
{
    double x,s;
    printf("input number:\n");
    scanf("%lf",&x);
    s=sin(x);
    printf("sine of %lf is %lf\n", x, s);
}

include称为文件包含命令扩展名为.h的文件也称为头文件或首部文件,其中包含stdio.h是由于printf和scanf都在此库中,包含math.h是因为用到sin数学函数;定义两个实数变量,以被后面程序使用;显示提示信息 "input number:" ;从键盘获取一个实数x;求x的正弦,并把它赋值给变量s;显示程序运算结果;main函数结束。

C 源程序的结构特点

1、一个C语言可以有一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

4、源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应该放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但是预处理命令,函数头和花括号“{}”之后不能加分号。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

书写程序时应该遵循的规则

     从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

1、一个说明或一个语句占一行。

2、用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

C 语言的字符集

       字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以用汉字或其它可表示的图形符号。

C 语言词汇

         在C语言中使用的词汇分为六类:标识符,关键字,运算符,分割符,常量,注释符等。

1、标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除了库函数的函数名由系统定义以外,其余都是由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。

以下标识符是合法的:a, x, _3x, BOOK_1, sum5

以下标识符是非法的:3s (以数字开头),s*T(出现非法字符*),-3x(以减号开头),bowy-1(出现非法字符减号)

在使用标识符时还必须注意以下几点:

1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中规定的标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。

2)在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。

3)标识符虽然可由程序员随便定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,做到 “顾名思义” 。

2、关键字

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类:

1)类型说明符

用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int,double等。

2)语句定义符

用于表示一个语句的功能。如例1.3中用到的if else就是条件语句的语句定义符。

3)预处理命令字

用于表示一个预处理命令。如前面各例中用到的include。

3、运算符

C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。

4、分隔符

在C语言中采用的分隔符由逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句个单词之间,做间隔服。在关键字,标识符之间必须要有一个以上的空格符做间隔,否则将会出现语法错误,例如把int a;写成inta;C编译器会把inta当作一个标识符处理,其结果必然出错。

5、常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。

6、注释符

C语言的注释符有 " // " 和 " /* ... */ " 两种。

//这是一个注释,我只能注释符号后面的当前这行

/*这是一个注释

我可以

注释很多行。*/

在调试程序中对暂不使用的语句也可以用注释符号注释掉,使编译跳过,调试完成之后再去掉注释符。

交流群号:657996991

摘录自C语言教程

猜你喜欢

转载自blog.csdn.net/w_hizyf_m/article/details/108730840