C语言发展和特点


一 起源

C语言源于ALGOL60语言,于20世纪60年代初提出。

1963年,英国剑桥大学将ALGOL60语言发展成为组合程序设计语言(CPL)。

1970年英国剑桥大学的Martin Richards对CPL进行简化,开发出基本组合程序设计语言(BCPL)。

1970年,美国贝尔实验室的 Ken Thompson以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。

1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,即C语言。

二 C语言基本词法

1. 字符集

字符是组成语言最基本的元素。C语言的字符集由字母、数字、空格、标点和特殊字符组成。C语言的字符集就是ASCII字符集,主要包括:

1、阿拉伯数字:0、1、2、...、9(共10个)。

2、大小写英文字母:A~Z、a~z(共52个)。

3、非字母、非数字的可显示字符(33个)。

2. 关键字

C语言中具有特殊含义的单词称为“关键字”,又称为“保留字”,主要用于构成语句。

C语言共有32个关键字,所有的关键字均由小写字母组成。

3. 标识符

❖定义:标识变量名、符号常量名、函数名、数组名、文件名的字符串序列——名字。

标识符是字符的序列,除了库函数的函数名等由系统定义外,其余均由用户自行定义。用户根据需要对C程序中用到的变量、符号常量、自定义函数等进行命名,形成用户标识符。

❖命名规则:

    ❖ 只能由字母、数字、下划线组成,且第一个字符必须是不能是数字

    ❖ 大小写字母含义不同,一般用小写

    ❖ 不能使用关键字

    ❖使用:先定义、后使用

C语言规定,用户标识符仅由大小写英文字母、数字和下划线组成,且第一个字符不能是数字。用户自定义的标识符既不能是C语言的关键字,也不能与用户已编写的函数或C语言的库函数重名。

下面给出一些正确和错误的标识符实例:


三 C语言的特点

(1)结构化语言(2)运算能力强大(3)数据类型丰富(4)具有预处理能力(5)可移植性好(6)程序执行效率高(7)程序设计自由度大

1.词汇分类

C语言的词汇分为六类,即常量、标识符、关键字、运算符、注释符和分隔符,其中:

1、注释符

C语言的注释符有两种,一种是以“/*”开头,并以“*/”结尾的多行注释。

另一种是以“//”开头的单行注释。两者的区别在于,第一种注释可以跨行,第二种注释不可以跨行。

2、分隔符

C语言的分隔符包括逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量;空格多用于语句各单词之间,作为间隔符。

2.常量

符号常量:用标识符代表常量

◆一般用大写字母: PRICE、PI

◆定义格式:   #define  符号常量  常量

◆其值在作用域内不能改变和再赋值。

注意:符号常量的优点是:见名知意、一改全改

例 符号常量举例

#define PRICE 30

#include <stdio.h>

void main(){

int num,total;

num=10;

total=num*PRICE;

printf("total=%d\n",total);

}

3.  C语言基本语句分类

按照语句功能或构成的不同,可将C语言的语句分为数据定义语句、赋值语句、函数调用语句、表达式语句、流程控制语句、复合语句和空语句等等,C语言的每个语句都以分号“;”结束。

三 C程序基本组成

C程序是由语句组成的,通常包括一个或多个函数,其中有且只有一个函数称为主函数,其函数名为main。

1. C程序的组成特点

1、每个C程序由一个或多个函数组成。每个C程序有且仅有一个主函数,除主函数外,可以没有其他函数,也可以有一个或多个其他函数。

2、函数是C程序的基本单位。每个函数是由函数首部和函数体两部分组成。

3、C程序中每一语句后面都以分号“;”作为语句的结束,但预处理命令、函数首部和右花括号“}”之间不能加分号。

C程序基本组成

4、C语言本身没有输入/输出语句,而是通过调用库函数scanf()、printf()、getchar()和putchar()实现的。

5、C程序的任意位置都可以加注释/*......*/,注释可以多行,但不可嵌套。

6、C程序的书写格式灵活,一行内可书写多条语句,一条语句也可以写在多行上,可以任意插入空格和回车。

7、C程序的执行总是从主函数开始,并在主函数结束。主函数和其他函数的位置是任意的,其他函数总是通过函数调用语句被执行。

8、C程序中可以有预处理命令,通常预处理命令应放在程序的最前面。

9、主函数可以调用任何其他函数,任何其他函数之间可以互相调用,但不能调用主函数。

2. C语言结构特点

❖函数与主函数

 程序由一个或多个函数组成,必须有且只能有一个主函数main(),可以放在程序中任一位置,程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。

❖程序语句        C程序由语句组成,用“;”作为语句终止符

❖注释                /* */为注释,不能嵌套,不产生编译代码

❖编译预处理命令

❖C语言格式特点

❖习惯用小写字母,大小写敏感

❖不使用行号,无程序行概念

❖可使用空行和空格

❖常用锯齿形书写格式

四 C程序开发环境

1. C程序的运行步骤

1、编辑:进入C语言编译系统,建立源程序文件,扩展名为“c”或“cpp”,编辑并修改、保存源程序。

2、编译:计算机不能识别和执行高级语言编写的源程序,必须经过编译程序对源程序进行编译。

3、连接:经过编译生成的目标程序还无法在计算机上直接运行,因为源程序中输入、输出以及常用的函数运算是直接调用函数库中的库函数,因此必须把库函数的处理过程链接到经编译生成的目标程序中,生成可执行文件,其扩展名为“exe”。

4、运行:一个C源程序经过编译、链接后生成可执行文件,可在编译系统或操作中运行。

2. C程序开发环境

3. C程序的运行

C语言数据类型、运算符和表达式,数据既是程序加工和处理的对象,也是程序加工和处理的结果。

1、基本类型包括整型、实型(又称浮点型)、字符型和枚举型四种。

2、构造类型是由基本数据类型按一定规则组合而成的复杂数据类型,包括数组型、结构体类型和共用体类型。

3、指针类型是一种更加灵活的数据类型,用来表示内存地址。

4、空类型是从语法完整性角度给出的数据类型,表示不需要数据值,因而没有类型

五 数据类型

数据即是程序加工和处理的对象,也是程序加工和处理的结果。

1 基本类型包括整型  实型(又称浮点型)字符型 和枚举型

2 构造类型是由基本数据类型按照一定规则组合而成的复杂数据类型,包括数组类型,结构体类型和共用体类型

3 指针类型是一种更加灵活的数据类型,用来表示内存地址

4 空类型是由愈发完整性角度给出的数据类型,表示不需要数据值,因而没有类型。

六 C语言运算符

❖定义:标识变量名、符号常量名、函数名、数组名、文件名的字符串序列——名字。

❖命名规则:

    只能由字母、数字、下划线组成,且第一个字符必须是不能是数字

    大小写字母含义不同,一般用小写

    不能使用关键字

❖使用:先定义、后使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容