叙述C语言程序的开发过程,第1讲c语言程序的开发过程和上机步骤.pdf

第1讲c语言程序的开发过程和上机步骤

第1讲 C语言程序的开发过程和上机步骤

1.1 C语言程序开发过程

C 语言是由Dennis Ritchie 于1972 年在贝尔实验室对B 语言(取BCPL 语言

的第一个字母)做进一步的充实和完善,开发出了C 语言(取 BCPL 语言的第

二个字母),开发C 语言的最初目的是为了更好地描述UNIX 操作系统。

C 语言是面向过程的高级语言,从C 语言问世到现在相继出现了面向对象的

程序设计语言C++、可视化程序设计语言Visual C++ 、组件导向的程序语言C#,

虽然它们已成为目前程序设计的主流,但它们都是以 C 语言为基础的,所以 C

语言仍具有较强的生命力,直到现在也倍受用户的青睐。

1.1.1 C语言的特点

C 语言与其他面向过程的程序设计语言(如:BASIC 、Pascal 、Fortran 等)

相比具有高效、灵活、功能强、移植性好等特点。概括起来主要有以下几个方面:

1.使用简洁、灵活、方便

C 语言共有32 个关键字(见附录I ),其中大部分用于对数据的描述;还有

9 种控制语句,用来对程序流程的控制;C 语言程序书写形式自由、灵活。

2 .运算符丰富、表达能力强

C 语言共有45 个运算符(见附录II ),它把许多对数据的操作都作为运算

符来处理,如:括号、赋值、强制类型转换、求变量的存储长度等。用户可以灵

活使用所提供的运算符表达其他语言难以表达的表达式。 C 语言还有一些其他

高级语言没有的自己所特有的运算,如:自增、自减运算,可以方便地对变量增

值;位运算,可以对字节中的位进行操作(通常都是对字节进行操作)。

3 .数据类型丰富

C 语言的数据类型主要有基本类型、构造类型、指针类型和空类型。利用构

造类型可以构造出自己所需要的数据类型,通过这些类型可以表达各种复杂的数

据结构,从而实现对客观世界的描述,特别是指针类型,是学习 C 语言的重点

和难点,通过指针可以直接对内存进行操作;指针作为函数参数可以实现一次函

数调用返回“多个值”的目的。

4 .以函数作为模块单位

C 语言程序是由一个或多个称为函数的模块组成,其中必有一个函数名为

main 的主函数。Viscal C++编译系统提供了丰富的具有独立功能的系统函数,需

要时可直接调用,不必自己编写;C 语言的输入和输出也都是通过函数调用实现

的,而不是象其他程序设计语言是通过语句来实现,从而实现了程序设计的模块

化。

5 .允许直接访问物理地址

C 语言能实现汇编语言的大部分功能,可以直接对硬件进行操作,更适用于

编写系统软件。

6.生成目标代码质量高

用 C 语言编译系统生成的目标代码仅比用汇编语言生成的目标代码的效率

低10%~20%。

7 .可移植性好

用 C 语言编写的程序基本不用修改就能用于各种型号的计算机和各种操作

系统。

当然,C 语言本身也有自己的弱点:一是运算符较多,运算符的优先级别不

易记忆;二是由于 C 语言的语法限制不太严格,这在增强了程序设计的灵活性

的同时,在一定程度上也降低了某些安全性,这对程序设计人员提出了更高的要

求。

1.1.2 程序开发过程

用 C 语言编写的程序,不能被计算机直接识别、理解和执行,需要一种担

任翻译工作的程序,称为编译程序,通过编译程序把 C 语言源程序转换为计算

机能直接识别、理解和执行的二进制目标代码。由编写 C 语言源程序到运行程

序需经过以下4 个步骤:

1.编辑

C 语言源程序需要先经过编写,然后通过计算机存储到磁盘文件中,这一过

程称为编辑。编辑可以使用Viscal C++编译系统,也可以使用其他的编辑软件。

编辑包括:

(1)编写C 语言源程序;

(2 )将源程序逐个字符输入到计算机;

(3 )修改源程序;

(4 )将修改好的源程序保存在磁盘文件中。

用Viscal C++编辑的源程序存入磁盘后,系统默认文件的扩展名为“.cpp ”。

2 .编译

编译就是将已编辑好的源程序翻译成二进制的目标代码。

编译的过程是:

(1)对源程序进行语法检查,若有错误,指出错误所在,此时,应重新进

入编辑状态进行修改,再重新编译;

(2 )若无错,产生扩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值