第一章:初识C语言

C是一门功能强大的专业化编程语言。

1.1、C语言的起源

1972年由贝尔实验室 在开发Unix系统时设计了C语言。

1.2、选择C语言的理由

1.2.1设计特性

C语言的设计理念让用户轻松完成自顶向下的规划、结构化编程和模块化设计。

1.2.2高效性

C语言具有通常是汇编才具有的微调控能力。

1.2.3可移植性

C是可移植的语言。

1.2.4强大而灵活

C语言功能强大且灵活。例如功能强大的的UNIX系统大部分是C语言编写的,其他语言(如:FORTRAN、Perl、Python)的许多编译器和解释器都是C语言编写的。C程序可以用于解决物理学和工程学的问题,甚至可以制作电影动画特效。

1.2.5面向程序员

C语言是为了满足程序员的需求而设计的,程序员利用C可以访问硬件、操控内存中的位。

1.2.6缺点

C语言使用指针,而设计指针的编程错误往往难以察觉。

1.3、C语言的应用范围

C++在C语言的基础上嫁接了面向对象编程工具。

C++几乎是C的超集,这意味着任何C程序多不多就是一个C++程序。学习C语言相当于学习了许多C++的知识

C语言已经成为嵌入式系统编程的流行语言。

1.4、计算机能做什么

没有说明,略

1.5、高级计算机语言和编译器

编译器是把高级语言程序翻译成计算机能理解的机器语言指令集的程序。

编译器还有一个优势,一般而言,不同cpu制造商使用的指令系统和编码格式不同,但是可以找到与特定cpu匹配的编译器,因此使用合适的编译器或编译器集,便可以把一种高级语言程序转换成供各种不同类型cpu使用的机器语言程序。

1.6、语言标准

C语言发展之初,并没有所谓的C标准。1978年布莱恩合著的《C语言程序设计》书中附录中就成为了实现C的指导标准。与大多数语言不同的是,C语言比其他语言更依赖库,因此需要一个标准,实际上,由于缺乏官方标准,Unix实现提供的库成为了标准库。

1.6.1、第一个ANSI/ISO C标准

1989年定义了C语言和C标准库。叫C89或C90

1.6.2、C99标准

1994年开始修订C标准,最终发布了C99标准。

1.6.3、C11标准

2011年发布了C11标准。

1.7、使用C语言的7个步骤

C是编译型语言,如果之前使用过编译型语言,就会很熟悉组件C程序的几个基本步骤,但是,如果以前使用的是解释性语言,就有必要学习如何编译。

  • 第一步:定于程序的目标
  • 第二步:设计程序
  • 第三步:编写程序
  • 第四步:编译
  • 第五步:运行程序
  • 第六步:测试和调试程序
  • 第七步:维护和修改代码

1.8、编程机制

用C语言编写程序时,编写的内容被存储在文本文件中,以.c为结尾。

1.8.1、目标代码文件、可执行文件和库

C编程的基本策略是,用程序把源代码文件转换成可执行文件,典型的C实现通过编译和链接两个步骤来完成这一过程。

1.8.2、Unix系统

1、Unix C 没有自己的编辑器,但是可以使用通用的Unix编辑器,编写好代码存储为.c结尾文件

2、在Unix系统上编译

以前Unix C编译器需要语言定义 cc命令,但是现在退出了舞台。但是Unix系统提供的C编译通常来自一些其他源,然后以cc作为编译器的别名,因此还是可以使用cc来表用编译器编译。

1.8.3、GUN编译器集合和LLVM项目

GUN项目始于1987年,是一个开发大量免费UNIX系统的软件集合、GUN编译器(也被成为GCC)集合是该项目的产品之一

LLVM项目成为cc的另一个替代品,它的clang编译器处理c代码,可以通过clang调用。

可以使用如下命令查看编译器其版本:

cc -v

1.8.4、Linux系统

在Linux中准备C程序与在Unix系统中几乎一样

1.8.5、PC的命令行编译器

C编译器不是标准Windows软件包的一部分,因此需要从别处获取并安装c编译器,免费的有: Cygwin、MinGW,这样可以在PC通过命令使用GCC编译器,都支持C99和C11最新的一些功能。

1.8.6、集成开发环境

可免费下载的IDE有ms vs 和pelles C

这些IDE都内置了用于编写C程序的编辑器,集成了各种菜单(编译程序,运行程序等)

使用getchar()等待用户的enter按键

1.8.7、Windows/Linux

不同通过Windows系统访问Linux文件,但是可以通过Linux系统访问Windows文档。

1.8.8、MAC OS中的C

如果下载了Xcode,还可以下载可选的命令行工具,这样就可以使用clang和gcc命令了。

本章小结

C是强大而简洁的编程语言,他之所以流行,在于自身提供大量的使用编程工具,能很好的控制硬件,且可移植。

C是编译型语言。C编译器和链接器是把C语言源代码转换成可执行的程序。

复习题

  • 对编程而言,可移植意味着什么?
  • 解释源代码文件、目标代码文件和可执行文件有什么区别?
  • 编程的7个主要步骤是什么?
  • 编译器的任务是什么?
  • 链接器的任务是什么?

如果对您有用,请我喝杯咖啡吧。

赞助扫码::
../../../_images/apay.jpg ../../../_images/pay_wechat.png