当前位置:首页 > 科学研究 > 电子编程 > 正文内容

C语言教程01:C语言的前世今生

RonWang2年前 (2023-05-10)电子编程785

程序设计语言的发展经历了从机器语言->汇编语言->高级语言的过程

机器语言:是计算机最原始的语言,由 0 和 1 的代码构成,CPU 在工作的时候只认识机 器语言,即0和1的代码。

汇编语言:是一种低级语言,它用人类容易记忆的语言和符号来表示一组0和1的代码, 例如 AND 代表加法。

高级语言:是在低级语言的基础上,采用接近于人类自然语言的单词和符号表示一组低级语言程序,使编程变得更加简单、易学,且写出的程序可读性强。

高级语言又分为面向过程的编程语言和面向对象的编程语言。面向过程的编程每实现一次 功能都要编写一次代码,代码的重用性较差。而在面向对象的编程中引入了类的概念,实现同 样的方法只要编写一次代码,用到时只需要调用该类即可,代码重用性高,这是目前流行的编 程方式。C语言是一门面向过程的高级语言,C++是面向对象程序的设计语言,同时也可以进行 基于过程的程序设计。

C语言的历史

计算机时通过执行一些列指令来完成人类给定的计算工作。因此,要让计算机完成某项任务,人类就必须将完成这项的方法和具体步骤写成计算可以执行的一些指令,使之在执行这些指令后输出或者完成工作任务。这样的一些列指令或者命令的集合被称之计算机程序,简称程序- Program,编写这些指令的工作就是程序设计Programming。

程序是为使计算机执行一个或多个操作,或者执行某一任务,按序设计的计算机指令的集合。 

程序设计给出解决特定问题程序的方法和过程,程序设计过程一般包括“需求分析→设计→编码→测试→维护”5 个阶段,并生成各种文档资料。 程序设计最终需要以某种程序设计语言为工具,编写出该程序的语言。

科学计算 1954年第一个完全脱离机器的高级语言 Fortran I ,主要是用于大型科学和工程计算,1957年 Fortran II

算法基础 1958年出现算法语言Algol 58, 改进版的Algol 60, 结构化的 Algol W 和 Algol 68,Algol是计算机语言的开拓者,为软件自动化和可靠性研究奠定了基础。

商用事务 1960年出现了Cobol 60 ,由于其独特的输入和输出功能,报表,分类和归纳的独特性使其在商用软件市场成为主导。

1971年 第一个结构化程序设计语言Pascal诞生。它是结构化程序的一个示范性语言,同时也在工程应用中暴露出很多缺点。

C 语言是一种高效的编译型结构化程序设计语言。C 语言的诞生可以追溯到 Algol 语言(1960 年)→CPL 语言(1963 年,英国剑桥大学)→BCPL 语言(1967 年,剑桥大学马丁·理查德)→B 语 言(1970 年,美国贝尔实验室肯·苏姆普逊)→C 语言(1972 年,丹尼斯·瑞奇和布朗·卡尼汉; 1983 年,ANSI C;1990 年,ISO C 等)。

从第一个高级语言Fortran问世至今,已经有数百种高级语言出现。高级语言发展经历了从面向过程程序设计(Procedure Oriented Programming,POP)到面向对象程序设计(Object Oriented Programming,OOP),从字符方式到可视化的过程。从字符方式到可视化的过程。随着软件规模的增大,Fortran、 Basic、Pascal、C 语言等面向过程的编程语言已经无法满足运用面向对象方法开发软件的需要。 20 世纪 70 年代末 80 年代初,为了解决一些非过程性的问题以及在大规模软件开发中软件的维 护与管理问题,有人提出面向对象的程序设计思想。面向对象的程序设计是一种基于结构分析、 以数据为中心的程序设计方法。面向对象的程序设计方法更加抽象,但程序更加清晰易懂,更 适合大规模程序的编写。C++、Java 等面向对象程序设计语言的出现,使软件开发也逐渐变成 了有规模、有产业的商业项目。

可视化程序设计语言,即图形界面的程序设计语言,如 Visual C++、Visual Basic、Delphi 等,是在 Windows 操作系统出现以后发展起来的。C++语言与 C 语言相兼容,运行性能高,又 有数据抽象和面向对象的特性,是当前面向对象程序设计的主流语言。目前,常用的 C/C++语言开发软件有 Turbo C(简称 TC 1987,POP)、Turbo C++(1990 年,OOP)、Borland C++(1991 年)、 Win-TC、Dev C++、Visual C++(可视化,简称 VC,20 世纪 90 年代末,OOP)和 Visual C++.NET(C#)。其中,VC 语言既可以使用 Windows 图形用户界面,又可以调用 Windows 的其 他资源。Visual C++.NET(C#)为 Windows 和 Web 应用程序提供动态开发环境。

C语言的特征

C语言的优点

C 语言是国际上流行的计算机高级语言,它被广泛应用于系统软件和应用软件的编写,是 公认的最重要的几种编程语言之一,被称作“低级语言中的高级语言,高级语言中的低级语言”。 其优点如下。

1. 语言简洁紧凑,使用方便灵活

关键字是编程语言里事先定义好并赋予了特殊含义的 单词,对语言编译器有特殊的意义,用来表示一种数据类型或者表示程序的结构。在 ANSI C 标准中,C 语言共有 32 个关键字,9个控制语句。

---------------

C语言的32个关键字

---------------

auto 自动变量

short 段整型

int  整型

long 长整型

float 浮点型

double 双精度

char 字符型

struct 结构体

union 共用体

enum 枚举类型

typedef 给数据类型取别名

const 只读变量

unsigned 无符号类型

signed 有符号类型

extren 外部存储变量

register 寄存器变量

static 静态变量

volatile 变量在程序执行中被隐含地改变

void 空类型

if 条件语句

else 条件语句否定分支(与if连用)

switch 开关语句

case 开关语句分支

for 循环语句

do 循环语句的语句体

while 循环语句的循环条件

goto 无条件跳转语句

continue 结束当前循环,开始下一次循环

break 跳出当前循环

default 开关语句中的其他分支

sizeof 计算数据类型长度

return 返回

----------------

C语言的9个控制语句

----------------

if  语句 条件选择语句

switch 语句 开关分支语句

while 语句 当型循环语句

do while 语句 直到型循环语句

for 语句 计数循环语句

continue 语句  中止本次循环语句

break 语句  终止执行Switch或循环语句

goto 语句 无条件转移语句

return 语句 函数返回语句

2. 数据类型和运算符丰富多样

C 语言内置了丰富的运算符,共有 34 种运算符

3. 可移植性强

可移植性是指程序可以从一个环境下不加修改或稍加修改就可移到另一 个完全不同的环境下运行。想跨越平台来执行 C 语言,通常只要修改极少部分的程序码,再重 新编译即可执行。据统计,不同机器上的 C 编译程序 80%的代码是相同的。

4. 高效编译语言,目标代码高质,执行效率高

C 语言通过编译器 (Compiler)将整个程序码编译成机器码,然后执行,其执行速度远比解释型(Interpreter)快。解释 型程序,如 BASIC 程序,边解释边执行,虽然占用的存储器较少,但执行的速度会变慢,效率 较低。另外,C 语言允许直接访问物理内存,进行位操作,具有低级语言的许多功能,程序执 行效率高。

C语言的局限性

C 语言并不是完美无缺的,在流行的同时也暴露出了它的局限性。

  1. C 语言类型自检机制较弱,使得程序中的一些错误不能在编译时被发现。

  2. C 语言本身缺乏支持代码重用的机制,使得各个程序的代码很难为其他程序所用。

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://parentscn.com/?id=225

相关文章

Python 计算机程序设计语言简介

Python 计算机程序设计语言简介

Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被...

 Arduino Project 037 - 18B20 Temperature Sensor

Arduino Project 037 - 18B20 Temperature Sensor

The DS18B20 Temperature Sensor is a digital temperature sensor capable of measuring temperatures wit...

Arduino Project 014 - Light Sensor

Arduino Project 014 - Light Sensor

This project introduces a new component known as a Light Dependent Resistor, or LDR. As the name imp...

电子制作|启程前的入门知识

电子制作|启程前的入门知识

电子制作是一件充满乐趣和成就感的活动,也许在开始时会有一些挑战或者坎坷,慢慢的当你踏入电子制作的世界之后,我相信你肯定再也停不下脚步,本部分电子制作的入门知识将主要围绕:工具、元器件和电路基础三个部分...

Arduino Project 034 - TM1637 4Digital 7Segment Display Module

Arduino Project 034 - TM1637 4Digital 7Segment Display Module

A standard 4-digit 7-segment display is needed for clock, timer and counter projects, but it usually...

 Arduino Project 038 - Simple Ultrasonic Range HC-SR04

Arduino Project 038 - Simple Ultrasonic Range HC-SR04

Ultrasonic range finders measure distance by emitting a pulse of ultrasonic sound that travels throu...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。