程序设计语言基本概念语 与经典真题

本文详细介绍了程序设计语言的基本概念,包括低级语言、高级语言、编译器和解释器的工作原理。此外,还讨论了程序设计语言的分类,如命令式、面向对象和函数式语言。文章进一步阐述了语言的基本成分,如数据成分、运算成分、控制成分以及函数。最后,探讨了值调用和引用调用的区别,以及它们在C/C++中的应用。
摘要由CSDN通过智能技术生成

一、基本概念

在计算机中,程序设计语言可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,其运行效率高,但开发效率低。与程序设计相关的基本概念如下。

(1)低级语言:又称面向机器语言,它是特定的计算机系统所固有的语言。

(2)汇编语言:是机器语言的一种提升,它使用了一些助记符来表示机器指令中的操作码和操作数。但它仍然是一种和计算机机器语言十分接近的语言,使用起来仍然不太方便。

(3)高级语言:与人们的自然语言比较接近,使用起来很方便,也极大的提高了程序设计效率。

(4)编译程序:也称编译器,将源程序翻译成目标语言程序,然后在计算机上运行目标程序。虽然执行效率高,但编写出来的程序可读性很差,且难以修改和维护。

(5)解释程序:也称解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行。

(6)程序设计语言:程序设计语言的定义都涉及语法、语义和语用等方面。

(7)语法是指由程序语言的基本符号组成程序中的各个语法成分(包括程序)的一组规则,其中由基本字符构成的符号(单词)书写规则称为词法规则,由符号构成语法成分的规则称为语法规则。

(8)语义是程序语言中按语法规则构成的各个语法成分的含义,分为静态语义和动态语义。

(9)语用表示了构成语言的各个记号和使用者的关系,涉及符号的来源、使用和影响。

(10)语境是指理解和实现程序设计语言的环境,包括编译环境和运行环境。

二、程序设计语言的分类

1.命令式程序设计语言

命令式程序设计语言是基于动作的语言,在这种语言中,计算被看成是动作的序列。

结构化程序设计语言属于命令式语言类,其结构特性主要有:一是用自顶向下逐步精化的方法编程,二是按照模块组装的方法编程,三是程序只包含顺序、判定(分支)及循环结构,而且每种构造只允许单入口和单出口。C语言、PASCAl等都是典型的结构化程序设计语言。

2.面向对象程序设计语言

面向对象的程序设计在很大程度上应归功于从模拟领域发展起来的Simula,Simula提出了类和对象的概念。C++、Java和smalltalk是面向对象程序设计语言的代表。

3.函数式程序设计语言

函数式程序设计语言是一类以λ-演算为基础的语言,其概念来自于Lisp,一个在 1958年为了人工智能应用而设计的语言。函数是一种对应规则(映射),它使定义域中每个元素和值域中唯一的元素对应。

函数定义1:Square[x]:=x×x

函数定义2:Plustwo[x]:= Plusone[Plusone[x]]

函数定义3:fact[n]:=if n =0 then 1 else n×fact[n-1]

4.逻辑型程序设计语言

逻辑型程序设计语言是一类以形式逻辑为基础的语言,其代表是建立在关系理论和一阶谓词理论基础上的Prolog(Programming in Logic)。Prolog程序是一系列事实、数据对象或事实间的具体关系和规则的集合。通过查询操作把事实和规则输入数据库。用户通过输入查询来执行程序。在 Prolog中,关键操作是模式匹配,通过匹配一组变量与一个预先定义的模式并将该组变量赋给该模式来完成操作。

三、程序设计语言的基本成分

1.数据成分

数据成分指的是一种程序语言的数据类型。

(1)常量和变量

按照程序运行时数据的值能否改变,将数据分为常量和变量。变量具有左值和右值,在程序运行过程中其右值可以改变;常量只有右值,在程序运行过程中不能改变。

(2)全局变量和局部变量

按照数据的作用域范围,可分为全局变量和局部变量。系统为全局变量分配的存储空间在程序运行的过程中一般是不改变的,而为局部变量分配的存储单元是动态改变的。

(3)数据类型

按照数据组织形式不同可将数据分为基本类型、用户定义类型、构造类型和其他类型。

基本类型:整型(int)、字符型(char)、实型(float、double)和布尔类型(bool)。

特殊类型:空类型(void)。

用户定义类型:枚举类型(enum)。

构造类型:数组、结构、联合。

指针类型:type *。

抽象数据类型:类类型。

2.运算成分

程序语言的运算成分指明允许使用的运算符号及运算规则。大多数高级程序语言的基本运算可分成算术运算、关系运算和逻辑运算,有些语言如C(C++)还提供位运算。

3.控制成分

控制成分指明语言允许表述的控制结构。

(1)顺序结构

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值