- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. C 语言简介 1. C 语言诞生??? 1972 年,美国贝尔实验室的 Dennis Ritchie 在 B 语言的基础上创造了 C 语言。B 语言是美国贝尔实验室的 Ken Thompson 于 1970 年,以 BCPL(Basic Combined Programming Language 基本组合编程语言)为基础设计出来的。而 BCPL 是……我的天……离题了……打住打住!
2. 为何学 C 语言??? 高效:用 C 语言编写的程序编译后生成的可执行文件小巧,而且运行速度很快。??? 移植性好:在某个系统下写的C程序不经修改(或者少量修改),重新编译后就可以运行于别的系统。??? 功能强大:C 可以用于编写操作系统,也可以用于编写编译器和解释器。大多数 Unix 操作系统都是使用 C 来编写的。我们也可以编写 C 程序解决物理和工程上的问题。??? 低级性:C 语言是一种相对“低级”的语言。这种说法并并没有贬义,而是意味着 C 语言精练而且接近硬件。C 语言可以像汇编语言一样对位、字节和内存地址进行操作。
3. C 编译器??? C 语言是高级语言,而计算机只懂机器语言,不懂高级语言,故而我们需要用编译器把 C 程序编译成机器语言,这样计算机才可以运行我们用 C 语言编写的程序。编译器的用法请参考:
4. 语言标准??? 起初,C 语言没有官方标准。那时《C 程序设计语言(第一版)》(Brian Kernighan 和 Dennis Ritchie 于 1978 年合著)是被广泛接受的标准。通常称为 KR C 或者经典 C(classic C)。书中附录的《C 参考手册(C Reference Manual)》作为编写 C 编译器的指南,虽然定义了 C 语言,却没有定义 C 标准函数库(Library Standard)。而 C 语言依赖于标准函数库,所以需要定义标准函数库。1983 年,美国国家标准协会(ANSI)成立 X3J11 委员会,致力于建立一个严格的 C 语言标准。X3J11 建立的标准于 1989 年被正式采纳。这个标准(ANSI C89)不但定义了 C 语言,而且定义了 C 标准函数库。1990 年,国际标准化组织(ISO)也采纳了这个标准,称为 ISO C90。C89 标准和 C90 标准完全一样。??? 1994 年,ANSI 和 ISO 合作,成立 C9X 委员会,致力于修订 C 标准,并且最终建立了 C99 标准。
注意:在后面的教程中,除非特别说明 C99 特有,否则都是 C89 和 C99 的共同标准。当前支持 C99 标准的编译器不多。VC6 和 TC 都不支持;GCC3.2 支持。VC7.1 及其更高版本我没用过,不知道支不支持,我猜应该支持吧。
2. 第一个 C 程序
??? 这篇文章旨在让各位对 C 有个总体的认识,有看不懂的地方请不必太在意,只要记住就可以了,继续往下学下去就会明白的。首先请看下面这个简单的 C 程序,猜猜它会做些什么。猜不出来也没关系,后面会有详细的解说。
#include stdio.hint main( void )????{?????int num;??????/* 声明一个名叫 num 的变量 */?????num = 1;??????/* 将 1 赋值给num?*/
?? printf( This is a simple C program.\n ); /* 调用 printf 函数 */
printf( My favorite number is %d because it is first.\n, num );
return 0;??}?????在对这个程序进行详细说明之前,我想先请您用编译器把它编译成可执行文件,并且运行,看看运行结果和您的猜想是否一致。
?????下面,我将分两步对这个程序进行详细的讲解。第一步是概要说明,也就是对程序中每一行代码的含义作简单讲解,以帮助您对这个程序有一个大致的理解。第二步是详细说明,也就是程序中的每一行代码进行详细的讲解,以加深您的理解。
概要说明
#include stdio.h??? -?? 把另外一个文件包含进来????这行代码命令编译器把头文件(.h 文件)stdio.h 中的内容包含到我们的程序中。stdio.h是C语言的标准头文件之一,提供对键盘输入和显示输出等的支持。要使用 printf 函数,就应该包含这个头文件。顺带一提,stdio 代表standard input/output,也就是标准输入输出的意思。
int main(void)??? -?? 函数头????C 程序由一个或多个函数组成。我们的这个程序只有一个函数:main 函数。?????
文档评论(0)