当前位置:问答库>考研试题

2017年南昌航空大学数据库原理(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 以下选项中叙述正确的是( )。

A. 文件指针是指针类型的变量 B. 文件指针可同时指向不同文件

C. 文件指针的值是文件在计算机磁盘中的路径信息 D. 调用fscanf 函数可以向文本文件中写入任意字符 【答案】A

【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。

2. 若有定义:

则正确的switch 语句是( )。

【答案】D

【解析】D 项正确,标号可以是整型表达式。A 项错误,case 是关键字,与其后面的常量表达式合称case 语句标号。常量表达式的类型必须与swicth 后圆括号中的表达式类型相同,各case 语句标号的值应该互不相同。c 是变量,不能作为表达式放在case 后面;B 项错误,switch 后面不应该有分号;C 项错误,switch 参数值类型必须是这几种类型之一:

第 2 页,共 26 页

3. 有如下定义:

若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。

【答案】A

【解析】A 项中,因为n=l, 即每次写入1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。

4. 以下叙述中正确的是( )。

A.C 语言中的文件是流式文件,因此只能顺序存取数据

B. 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C. 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 【答案】D

【解析】D 项正确,C 语言中读写文件是通过文件缓冲区完成的,在完成了对文件的操作之后,应当关闭文件,否则文件缓冲区中的剩余数据可能丢失。A 项错误,C 程序中的输入、输出文件都以数据流的形式存储在介质上,用顺序存取和直接存取两种方式;B 项错误,可以以追加的方式写文件;C 项错误

5. 有以下程序:

程序的运行结果是( )。 A.1, 2 B.3, 6 C.4, 7

D. 变量的地址值

第 3 页,共 26 页

为读和写而打开文本文件,在读和写操作之间不必关闭文件。

【答案】B

【解析】程序的执行过程为:定义整型数组结构体数组X ,并为其初始化,则

x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。

6. 有如下程序:

程序运行后的输出结果是( )。 A.15 B.0 C.1 D.10

【答案】D

【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:执行for 循环,i=l,调用函

,调用函数sum (2)

退

返回指向init 的指针,输出

7. 有以下程序

第 4 页,共 26 页

并进行初始化,两个数组长度均为2。定义

输出x[0]的成员指针b

指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组

for

用用

数数