Cobol,全称是Common Business Oriented Language,是一种古老但仍然广泛使用的编程语言,尤其在大型机领域。以下是一些关于Cobol面试中可能会遇到的问题及其详细解答: 1. **程序划分**:Cobol程序由四个主要部分组成,分别是IDENTIFICATION DIVISION(标识段),ENVIRONMENT DIVISION(环境段),DATA DIVISION(数据段)和PROCEDURE DIVISION(过程段)。标识段定义程序的基本信息,环境段处理运行时环境,数据段定义程序的数据结构,而过程段则包含程序的实际执行逻辑。 2. **数据类型**:Cobol提供了多种数据类型,包括Alpha-numeric(X)用于存储字母数字数据,Alphabetic(A)仅用于字母数据,以及Numeric(9)用于数值数据。 3. **INITIALIZE动词**:该动词用于初始化变量,将Alphabetic和Alphanumeric字段以及编辑过的Alphanumeric元素设置为空格,将Numeric和编辑过的Numeric元素设置为零。FILLER和根据条件出现(OCCURS DEPENDING ON)的项目保持不变。 4. **77级**:77级用于声明基本级元素,它不能是其他项的子项,也不能被自身细分。 5. **88级**:88级用于定义条件名称,可以用来简化IF语句,例如,可以定义一个88级变量来代表特定条件,然后在程序中直接引用这个条件名。 6. **66级**:66级用于Renames子句,允许为同一数据项提供不同的名称,这在处理复杂的数据结构时非常有用。 7. **IS NUMERIC子句**:IS NUMERIC可以用于检查字母数字、有符号或无符号的数值以及打包的十进制数据。如果只包含0-9,则返回TRUE。对于有符号的数值,可能还包括+和-。 8. **数组定义**:在Cobol中定义数组通常使用OCCURS关键字,例如`05 ARRAY1 PIC X(9) OCCURS 10 TIMES`定义了一个包含10个字符的数组。`05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX`定义了一个带有索引的数组,索引变量为WS-INDEX。 9. **OCCURS子句的位置**:OCCURS子句不能在01级上使用,因为它需要在描述数据项的更低级别上应用。 10. **索引与下标**:下标用于引用数组中的特定元素,而索引表示元素相对于数组开头的字节数偏移。索引只能通过PERFORM、SEARCH和SET等语句修改。为了使用SEARCH或SEARCH ALL,数组需要有索引。 11. **SEARCH与SEARCH ALL的区别**:SEARCH是顺序搜索,遍历整个数组;SEARCH ALL则是二分搜索,但要求数组必须按ASCENDING或DESCENDING KEY排序。 12. **SEARCH ALL的排序顺序**:SEARCH ALL的排序可以是升序或降序,默认为升序。如果希望使用DESCENDING ORDER,需要在定义数组时指定。 以上内容涵盖了Cobol的基础知识,包括数据结构、控制流和数据处理。在面试中,理解并能灵活运用这些概念对于展示你的Cobol技能至关重要。
- wawo2012-09-17quan shi ying wen de? mei you zhongwen
- liluowcy2014-03-19正在准备面试,这个还是很有用的
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助