01--C语言的发展

01--C语言的发展

计算机程序

程序——组计算机能识别和执行的指令

程序和指令是计算机系统中最基本的概念

计算机语言

计算机和人都能识别的语言---计算机语言

计算机语言的发展阶段:

  • 机器语言: 计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令。 计算机能直接识别和接受的二进制代码称为机器指令,机器指令的集合就是该机器的机器语言。

  • 符号语言:为了克服机器语言的缺点,人们创造出符号语言,它是用一些字母和数字表示一个指令。(例如 -用ADD表示“加”)显然,计算机并不能直接识别和接受符号语言的指令,需要用一种称为汇编程序的软件把符号语言转成机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为“代真”或“汇编”。因此,符号语言又称为符号汇编语言汇编语言

  • 低级语言:不同型号的计算机的机器语言和汇编语言是互不相通的,机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言,离计算机“很近”,故称为计算机低级语言。

  • 高级语言:为了克服低级语言的缺点,20世纪50年代创造出了第一个计算机高级语言—FORTRAN语言,不依赖于具体的机器,用它写出的程序对任何型号的计算机都适用,它与具体机器距离“较远”,故称为高级语言

编译过程:

计算机也不能直接识别高级语言程序,也要进行“翻译”。用一种称为编译程序的软件,把高级语言写的程序(称为源程序),转换为机器指令的程序(目标程序),然后让计算机执行机器指令程序,最后得到结果。

扫描二维码关注公众号,回复: 10388183 查看本文章

高级语言的发展阶段

高级语言的一条语句往往对应多条机器指令

  • 非结构化的语言

  • 结构化语言

  • 面向对象的语言

C语言的发展

  • 1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,最初,C语言只是为描述和实现Unix操作系统提供一种工作语言而设计的

  • 1973年,Ken Thompson和D.M.Ritchie合作把Unix的90%以上用C语言改写,即Unix第五版,随着Unix的日益广泛的使用,C语言也迅速得到推广

  • 1978年以后,C语言先后移植到大、小、中和微型计算机上,成为全世界应用最广泛的程序设计高级语言

  • 1978年,Brian W.Kernighan和Dennis M.Ritchie一起写了 “The C Programming Language ”,它是实际上第一个C语言标准

  • 1983年,ANSI(美国国家标准协会),制定第一次C语言标准草案

  • 1989年,公布了一个完整的C语言标准——ANSI X3. 159-1989(常称为 ANSI C 或C89)

  • 1990年,ISO(国际标准化组织)接受C89作为国际标准

  • 1999年,ISO又对C语言标准进行了修订,称为C99(C99是C89的补充)

C语言主要特点

  1. 语言简洁、紧凑,使用方便、灵活(共有37个关键字)

  2. 运算符丰富(共有34种运算符)

  3. 数据类型丰富

  4. 具有结构化控制语句 (如 if ...else语句、while语句、do...while语句、switch语句和for语句),用函数作为程序的模块化单位。C语言是完全模块化和结构化的语言

  5. 语法限制不太严格

  6. 可移植性高

  7. 生成目标代码质量高,程序执行效率高

  8. C语言允许直接访问物理地址,能进行位(bit)运算,能实现汇编语言的大部分功能,可以直接对硬件进行操作

简单的C语言程序结构

例如:

# include<stdio.h>
int main()
{
    printf("hello world !!! \n");
    return 0;
}
​
分析以上代码:
1、 用# include指令把头文件里面的信息调入供使用,如果没有#include 就不可能执行printf函数,printf函数是输出。 
2、stdio.h是系统提供的一个文件名,stdio 是standdard input&outputd的缩写,文件后缀名 .h 的意思是头文件。
3、每一个语句最后都有一个分号,表示语句结束
4、return 0 函数执行完毕时返回函数值0 

C语言允许两种注释方式

  1. 单行注释——以 / / 开始,换行符结束

  2. 多行注释—— 以 /* 开始 , 以 */ 结束

  3. 注意:字符串中的//和/*都不作为注释的开始,而是作为字符串的一部分

C语言程序的结构:

1、一个程序由一个或多个源程序文件组成

  • 一个源文件中可以包含三个部分:

  • 预处理指令——如:# include <stdio.h>

  • 全局声明——在函数外声明的变量称为全局变量

  • 函数定义

2、函数是C语言的只要组成部分——函数是C语言的基本单位

  • 一个C语言程序是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数)

  • 一个小程序只包含一个源程序文件,一个源程序文件中包含若干个函数(其中有一个main函数)

  • 在进行编译时,是以源程序文件为对象进行的

3、一个函数包括两个部分(函数首部和函数体)

  • 函数首部——即函数第一行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。例如

    int max (int x, int y )

    如果函数没有参数类型则在括号中写void,也可以是空括号

  • 函数体——函数首部下面的花括号内的部分

    函数体一般包括两部分——声明部分和执行部分

4、程序总是从main函数开始执行的

5、程序中要求计算机的操作是由C语句完成的

6、在每个数据声明和语句的最后必须有一个分号

7、C语言本身不提供输入输出语句——输入输出的操作是由库函数scanf和printfd等函数完成的

8、程序应当包含注释

程序设计的任务

程序设计——从确定任务到得到结果、写出文档的全过程

一般经历以下几个工作阶段:

  1. 问题分析——建立模型

  2. 设计算法——一般用流程图表示解题步骤

  3. 编写程序

  4. 对源程序进行编辑、编译和连接

  5. 运行程序,分析结果,除此之外还要对程序进行测试。测试——设计多组测试数据,检查程序对不同数据的运行情况,从中尽量发现程序中存在的漏洞,并修改程序,使之能适用于各种情况

  6. 编写程序文档(说明书)

软件是计算机程序和程序文档的总称

发布了16 篇原创文章 · 获赞 2 · 访问量 143

猜你喜欢

转载自blog.csdn.net/weixin_42248871/article/details/105164662