汕头大学计算机系程序设计基础期末复习题与答案_第1页
汕头大学计算机系程序设计基础期末复习题与答案_第2页
汕头大学计算机系程序设计基础期末复习题与答案_第3页
汕头大学计算机系程序设计基础期末复习题与答案_第4页
汕头大学计算机系程序设计基础期末复习题与答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机程序设计基础课2018年春季修订By盛氏经典汕头大学复习题 任课老师:于津红色以及加粗标记的为重点1. 计算机主机由哪五个部分组成。运算器、存储器、控制器、输入设备、输出设备。2. 一个计算机系统通常由哪两个部分组成, 计算机主机和程序系统分别属于哪部分。硬件和软件,硬件、软件3. 中央处理机的英文缩写是什么?由哪两部分组成?CPU、运算器和控制器4. 计算机内存储器的组织形式是怎样的? 通用寄存器-高速缓存储存器-内存内存以字节为单位线性编址5. 什么叫位(bit)、字节(byte)、字(word)? 存贮器的存贮单元 地址是指什么? 存贮单元的地址和存贮单元的内容是什么关系?bit代

2、表计算机中数据存储的最小单位,存储0或1。1 Byte=8 bits 一个字节等于8个位。1 word=2 byte 一个字等于两个字节。内存地址代表了内存单元的编号,一个内存地址对应一个内存单元。6. 一个byte由几个bit组成? 1K字节等于多少字节, 1M字节等于多少字节?1 Byte=8 bits 一个字节等于8个位。1KB=1024B1MB=1024KB=1048576B7. 什么是ASCII码?美国信息交换标准代码,是国际通用的单字节编码系统。给每个字符赋予一个编号。8. 简述机器语言、汇编语言、算法语言。机器语言(用二进制代码指令表达的计算机语言)汇编语言(用助记符代替操作码,

3、用地址符号或标号代替地址码,助记符语言)算法语言(接近于数学描述语言的形式的计算机语言)9. 计算机语言分为几级?两级、低级和高级10. Pascal和C都是高级语言,为什么又称C为中级语言?因为C有高级语言的优点,也有低级语言的特点,还主要因为C语言可以处理到位。11. Pascal和C语言都是自编译型语言,便于移植。自编译(使用最小的语言集合来实现核心功能,再使用最小集合实现其他C语言的功能,核心语言用机器语言写的)12. 算法的特点。有穷性、确定性、可行性、输入、输出13. N.Wirth的一个著名的公式: 程序 = ?程序=数据结构+算法14. 算法的三种基本结构;好算法的标准。顺序结

4、构、选择结构、循环结构。正确性、可读性、健壮性、高效率和低存储量需求。15. 简述什么是计算机语言的语法和语义。语法:程序的结构和表现形式与规则,不涉及含义,使用者及使用环境。语义:程序的含义,不涉及使用者及使用环境。16. 举出所知道的描述语法的方法及描述形式(巴克斯范式和语法图,会使用巴克斯范式和语法图)1. 巴克斯范式BNF:= 表示“定义为”; | 表示“或者”; 表示中的内容可重复0次或任意次; 表示中的内容可重复0次或1次; 非终极符用括起。请写出下面的巴克斯范式和语法图描述1、程序2、程序首部3、标志符4、参数表5、标志符表6、字母7、数字17. 对于下面的语法公式: (其中a,

5、 b是终极符; C, D是非终极符) C:=ab D:=aCDC 指出 D表示一串什么样的字符? aabababab。若语法公式改为: C:=abD:=aCCD D又表示一串什么样的字符? an或bnaa或CCCC。aC分别画出以上两组语法的语法图。18. PASCAL、C语言是谁于哪一年发明的为什么目的?1968年由瑞士的Niklaus.Wirth提出,为了教学特制的语言。1973年由美国的K.L.Thompson & D.M.Ritchie发明。为了编写UNIX操作系统19. PASCAL程序由哪两部分构成?C语言的程序结构如何?P:程序首部和分程序C:由并列的函数构成(另一种角度)程序由

6、以下两部分构成: 1.数据描述 2.如何处理数据的描述20. PASCAL中程序首部、过程首部、函数首部的异同点,程序首部参数表中的参数表示什么? 保留字不同;程序首部参数表与过程函数不同、函数得有返回值类型说明过程函数参数表相同,Pascal程序程序首部的参数表中是文件变量21. C的main函数的参数是什么?命令行参数的作用?命令行参数 ;向函数传递参数22. PASCAL语言的标识符是如何组成的?C的标识符?PASCAL:以字母开头的字母、数字组合 C:以字母或下划线开头的字母、下划线、数字组合23. 用PASCAL语言编写的程序其执行部分(即语句部分)实质上是由几条什么样的语句构成的?

7、C语言的函数体?均为一条复合语句24. PASCAL语言中的标准常量有几个; 标准类型有几种。 3个标准常量:False、true、maxint5个标准类型:实型、整型、字符型、布尔型、TEXT文件类型2个标准文件:input、output25. PASCAL语言中的标号用什么表示? 在什么范围内? C的标号是什么?4位以内整数,0-9999标识符26. PASCAL语言中预定义标识符和保留字的区别。保留字不能再定义 ;预定义标识符可以再定义。27. 在一个标识符中是否可以有空格?不可以。28. 为什么在标识符、保留字、数之间要留有空格?空格在pascal中是起分隔标识符的作用,空格前后表示不

8、同的内容,标识符之间保留空格表示不同标识符,否则则识别成一个标识符29. 常量定义有哪些优点?(Pascal C)常量定义后即不可修改。书写简单,修改方便,C的常量定义为宏定义。30. PASCAL程序中在什么地方区别大小写, 什么地方不区别? C ?PASCAL:字符和字符串中有区别(因为大小写字符ASC码字符不一样),其他不区别C:所有地方处处区分大小写,大小写敏感语言31. 关于变量的了解有哪些? 对变量作类型说明的意义。类型与变量的关系。了解:变量名 地址 值;全局变量编译的时候分配;意义:为变量分配存储空间关系:类型是用来说明变量的32. 运算符的优先级别。Pascal和C。逻辑运算

9、符算数运算符PASCAL: 1)先计算括号内的表达式; 2)在同一子表达式中,运算符优先按下列次序: 函数调用; Not; 单目运算符 +, -; And, *, / , Div, Mod ; Or , +, -; =, , , =, = 3)在同一子表达式中,同一优先级的运算按从左到右的次序。C:双目运算符:如 +、-、*、/和%;单目运算符:如 “+”和“-”还可分别作为取正值、负值运算符。单目运算符“+”和“-”优先级别高于双目运算符+、-、*、/和%;双目运算符的优先级别:先乘除(*、/或%),后加减(+或-)33. C的整型(C语言中哪些类型可以为整型)和指针。枚举类型,字符型,整型

10、34. Pascal语言中类型一定是类型标识符吗?哪些地方只能出现类型标识符?不一定,如string。参数表参数类型定义35. Pascal语言中有序类型有哪些? 其值的特点。整型 字符型 布尔型 枚举类型 子界类型、可用ord求得序号36. 语句的分类?基本语句 ;构造语句37. Pascal和C语句的最简单形式。P:空语句。C:;(一个分号结尾的空语句)38. 语言字符集、系统字符集、ASCII字符集的区别。Pascal语言能够识别的字符;系统支持的字符;美国信息交换标准码。39. 字符型数据输入需注意的问题。空格属于一个字符,回车换行属于两个字符40. 枚举变量的值可以直接输入、输出吗?

11、 Pascal、C?PASCAL不可以C 可以41. Pascal语言中数组的特性、数组类型的形式、下标类型及其基类型可是什么类型? C数组说明时?特性:1.数组分量均是同类型的量;2.每个数组的分量个数一经确定,就保持不变。3数组变量的每个分量均能直接访问形式:Array下标类型 Of 元素类型下标类型:只能是子域类型min.max(顺序类型)PASCAL数组基类型除文件以外的各种类型C语言数组下标必须从0开始42. Pascal语言中何为数组变量?用数组类型定义的变量43. 数组变量可以作赋值操作吗? 可以输入、输出吗? 何为下标变量? 下标变量的一般形式。a) 数组变量不能赋值,不可以输

12、入输出b) 下标变量可以赋值,可以输入输出数组变量:由数组类型说明的变量下标变量:数组变量名【下标表达式】44. 下标变量可以作赋值操作吗? 可以输入、输出吗? 可以;分情况:看数组的基类型,若为,则不可以输出45. 数组变量与下标变量的区别。数组变量是用数组类型定义的变量,而下标变量只是这个数组中的其中一个元素46. Pascal语言中下标变量可以作循环控制变量吗?不可以47. 字符串是什么类型?一维字符数组类型48. Pascal语言中子程序的定义分几部分? 指出过程与函数的异同。分为两部分:子程序首部+分程序程序的定义(七个部分):程序首部说明标号说明常量说明类型说明变量说明函数过程说明

13、语句部分过程与函数异同1.说明符不同:Procedure、Function;2.形参表相同;3.函数有返回值,过程没有;4.函数体中有为函数名赋值的语句;5.过程用于没有返回值或有多个返回值的情况;函数用于有一个返回值的情况;6.函数要说明函数的类型;7.函数调用是表达式;过程调用是一条语句。49. Pascal语言中形参与实参替换时需遵守的规则。C语言?类型一致;个数一致;形参是变量参数时,对应的实参只能用变量名50. 标识符必需先定义后使用,说明标识符的作用域,何为全局标识符, 局部标识符?全局标识符:主程序定义的标识符局部标识符:子程序定义的标识符和形参标识符,只在定义它的子程序中可以引

14、用。作用域:主程序定义的标识符作用范围是从该标识符的定义性出现到主程序结束,除去有同名定义的内层子程序后,余下的部分。子程序定义的标识符作用范围是从该标识符的定义性出现到该子程序结束,除去有同名定义的内层子程序后,余下的部分51. C语言存储类型?编译完后是打包的EXE类型52. Pascal语言中全局量何时被分配空间?局部量何时被分配空间?在程序的运行期间哪些被分配的空间有被收回的可能?编译时,调用时,局部变量。全局变量:编译时分配空间。局部变量:运行时分配空间。 (调用时分配,调用结束后收回)53. Pascal语言中标识符在什么情况下只能被说明一次?在什么情况下能被多次说明? 在同一个主

15、程序或者子程序。在不同的子程序或自程序与主程序54. Pascal语言中子程序与调用程序之间交换信息的手段。1.参数(值参和变量参数);2.非局部量或全局量;3.函数返回值。55. 什么叫递归调用; 直接、间接递归?递归函数或过程调用它本身直接递归:函数或过程a直接调用a本身;间接递归:函数或过程a调用函数或过程b; b又调用a。56. 用递归方法解决问题必需符合的条件。1、可以把问题转化为一个新的问题,而新的问题的解决方法与原问题的解决方法相同,但处理对象要有增或减的变化;2、可通过转化过程使问题得到解决;3、必须有一个明确的结束递归的条件。57. Pascal语言中集合类型定义的形式。集合

16、类型的基类型是什么类型?Set of 基类型 基类型:有序类型一般限制整型、字符型整体作为集合类型的基类型,只允许其子集作为集合类型的基类型;58. Pascal语言中集合类型值的形式。任何集合类型变量均可拥有的值是什么?集合值的形式: 值1,值2,值n;空集值的形式: 可作为任何集合的空集合的值;59. Pascal语言中集合变量的值可以直接输入、输出吗?不可以60. Pascal语言中记录类型定义的形式,记录中各域之间是否有顺序关系?类型定义形式: Record 域名表:域类型; _域表 域名表:域类型; End没有顺序关系61. 记录(结构)类型与数组的异同。都存有一组数据 ;数组的各个

17、数据类型相同 ,记录则可不同62. C语言的结构类型和联合类型及之间的区别?联合体:“ 需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作“共用体”类型结构,简称共用体,也叫联合体。”结构体变量所占内存长度是各成员占的内存长度的总和。共同体变量所占内存长度是各最长的成员占的内存长度。63. Pascal语言中记录变量的值可以直接输入、输出吗? 记录变量可以作赋值操作吗?C?不可以直接输入输出,记录变量可以赋值操作64. Pascal语言中记录的域可是哪些类型?C?域类型:可是除文件外任何类型,域类型

18、亦可是记录类型;65. 什么是静态存储分配、动态存储分配?全局变量和局部变量的分配,动态存储分配是指针指向的变量的分配静态数据:特点是局部于某个分程序(程序、过程或函数的分程序)而且具有固定结构和大小,不能在程序的执行过程中加以改变。 1.编译时分配存储单元的全局变量 2.调用子程序时分配存储单元的局部变量,返回时回收动态数据:由编写的程序语句,在程序运行时动态的申请存储单元;并亦可由编写的程序语句,在程序运行时动态的回收不再使用的存储单元。 (通过调用过程new, dispose完成动态申请和回收)66. 简述指针变量:名、值、地址。Pascal与C的区别。名(标识符)、值(值为某个变量的内

19、存地址)、地址(内存地址)。pascal指针的值不能运算(只能进行相等或不等)不能输入输出。但 C可以运算,C可以取任何变量的地址并输出67. 两个指针变量类型相同意味着什么?意味着指向的变量类型相同68. 指针变量的存储单元是否动态分配?是.如有说明 Var p: integer ;在没有调用过程New( P )之前,P中无值,故P不存在;调用过程New( P )后;则P存在了,P是整型变量,P的地址在P中。Dispose(P):预定义过程,回收P所指的变量P的存储单元,调用此过程后。P的值无定义,P不复存在。69. 如何通过指针变量引用动态存储单元?用指针变量后加一上箭头的方式,访问该指针

20、变量当前所指向的动态变量;70. 指针变量与其所指动态变量之间的关系。指针变量的值是动态变量的首地址71. Pascal语言中用指针指向记录的特殊之处是什么?在Pascal语言中,唯有指针类型指向记录类型时可以先使用,后定义72. 指针变量的操作有哪些?指针变量的值即不允许打印,也不能作大小的比较,只能与另一个指针的值作相等或者不等的比较。73. 简述new(p),dispose(p)这两个预定义过程的功能并说明参数。C的?过程语句New(P)作用是创建一个指针P所指类型动态变量P,并把这个新变量P的地址赋给指针变量P;3)过程Dispose(P)是New(P)的逆过程,用于撤销一个动态变量,

21、并回收动态变量所占的内存空间4)指针变量P的值可由过程New(P)给定、或由赋值语句赋给、或由过程Dispose(P)破坏,而使P的值无意义;74. 文件是什么?文件:存于外存,使程序可对外存储器上的数据进行存取操作,且可多个程序对一个文件进行存取处理。即程序可通过文件交换信息。75. Pascal语言中文件类型的基类型可是什么类型?C文件?除文件类型外的其它类型76. Text是什么类型的文件?Pascal文件其数据按两种代码存放1)Text文件:按ASCII码形式存放2)File 文件:按数据的二进制代码存放几种常用文件:1.顺序文件:只能在文件头读,在尾写;2.随机文件:可任意存取文件的

22、任何位置的数据;3.正文文件:Text文件,字符型文件;4.标准文件:input, output.77. Turbo Pascal 怎样打开文件?C语言?用assign指定一个内部名对应的外部名 ;用rewrite新建并打开一个文件;用 reset打开一个已经存在的文件78. Pascal语言中write(ln)、read(ln)这两个预定义函数在未讲文件前使用时分别省略了什么?文件变量input & output79. 你自己编写的 Pascal/C 源程序对于 Pascal/C 语言来说是什么文件?text文件80. C语言的特点是什么? 优点l 语言简洁、紧凑,使用方便:32个关键字,9

23、种控制语句 l 运算符丰富:共有34个运算符l 数据结构丰富。l 具有结构化的控制语句。l 语法限制不太严格,程序设计自由度大。l 允许直接访问物理地址,能进行位操作,可直接操作硬件。l 生成目标代码质量高,程序执行效率高: 一般只比汇编程序生成的目标代码效率低1020% l 程序可移植性好l 可分块编译弱点l 允许表达自由的同时,对使用者提出较高的要求;l 使用简洁的运算符和强大、灵活的指针,但极易出现内存泄露;l 可产生极为高效的代码,但可能是极难跟踪的;l 亦可能会产生种种难以理解的错误;81. C语言的程序结构,C语言中的;是什么?与Pascal的区别。C语言中分号是语句的一部分PAS

24、CAL分号是语句的分隔符Pascal程序:以;做语句分隔符; 以.做为程序结束的标志C中的分号是语句的一部分,语句以分号结尾。1. C语言是什么语言? 高级语言2. C语言的字符集、标识符、关键字。字符集:数字(10个)、字母(52个) 注意C程序中严格区分大小写字母空白符:空格符、制表符、换行符和换页符统称为空白符。它们主要用于分隔单词,一般无其它特殊意义。 图形符号:29个(可见)符号,即 ! “ # % & ( ) * + , - . / ; : ? | 主要用作各种运算符转义字符:程序中有时需要用到某些不可见或难以打印的字符,C语言中采用转义字符来表示,如:“n”表示一个换行符;字符被

25、称为转移符,表示其后的字符n具有特定的含义标识符:用于标识变量名、符号常量名、数组名、函数名、 类型名、文件名的有效字符序列。标识符的组成:由字母、数字和下划线组成。必须由字母或下划线起始。标准C 规定有效长度为前31个字符。关键字:又称保留字,不能用作一般标识符,即不允许用作变量名或函数名等。 标准语言中共有32个关键字,按用途分为类:数据类型:如char int等 存储类:如auto return等流程控制:如if else switch等 运算符:sizeof注意:C语言的关键字都是小写的。例如else是关键字,但ELSE就不是关键字。3. C语言的简单类型及与PASCAL的区别。不能再分解出成分类型的类型称为简单类型4. C语言的运算符与表达式。 5. C语言的语句及与PASCAL的区别。PASCAL(上)C(下):6. C语言的数组及与PASCAL的区别。C: 构造数据类型之一数组:有序数据的集合,用数组名标识数组元素:类型相同,用数组名和下标确定7. C语言的指针及与PASCAL的区别。8. C语言的枚举类型及与PASCAL的区别。PASCAL的枚举类型:形 式:(标识符表) 枚举类型标识符表:以逗号相隔的标识符序列运算:关系运算, ord,pred,succ;值范围:标识符表中出现的所有标识符例:Type firstname=(Zhang, Wang

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论